这是一个创建于 1697 天前的主题,其中的信息可能已经有所发展或是发生改变。
fn makes_copy(some_integer: i32) { // some_integer comes into scope
println!("{}", some_integer);
} // Here, some_integer goes out of scope. Nothing special happens.
官方教程实例 Listing 4-3: Functions with ownership and scope annotated
这里说函数结束后 some_integer 不做处理
是 scalar 类型变量的复制体不释放?
2 条回复 • 2020-04-03 15:04:53 +08:00
|
|
1
jmc891205 2020-04-03 13:42:33 +08:00
some_integer 是 i32 类型 进入函数的时候是 copy 进来而不是 move 进来的 他的内存完全都是分配在栈上 所以函数退出的时候不需要显式地调用 drop 因为销毁函数栈的时候自然就把他使用的内存销毁了
|
|
|
2
azev 2020-04-03 15:04:53 +08:00
|