fn main(){
let s2 = test();
println!("s2={}",s2 );
}
fn test() -> String{
let s1 = String::from("test1");
return s1
}
打印出 s2=test1
这里有一个疑问,s1 对应的内存有没有被销毁? return s1 这时作用域已完成,不是因销毁 s1 吗,那返回到 main 里的是什么? “test1"这 string 是否于内存中复制过?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.