ownership/borrowing #184
Replies: 21 comments 15 replies
-
第1题中的output应该是随机的,至少会跟注释的不相同 |
Beta Was this translation helpful? Give feedback.
-
完成 11/11 |
Beta Was this translation helpful? Give feedback.
-
第10题的答案就离谱,改程序不是应该像改病句一样,不能破坏原有意图的吗🤣🤣 |
Beta Was this translation helpful? Give feedback.
-
ref与&的用法不同?除了声明时放的位置不一样,后面的使用从例子上看是一样的。是否还有其他不同,如果没有的话,修改为声明时不同,使用效果相同是不是更好一点? |
Beta Was this translation helpful? Give feedback.
-
Done. |
Beta Was this translation helpful? Give feedback.
-
done!本节考察了引用与解引用的用法,让我对于内存指针和rust引用与解引用的用法还有定义有了进一步的认识,在未来的程序编写与设计中希望能够经常用到 |
Beta Was this translation helpful? Give feedback.
-
可以考虑一下两个mut有什么区别。 理解: 变量mut表示它是可变的变量(值变 + 变量名不变),引用mut表示它可以改变值(变量名不变 + 变量的值(地址)不变 + 地址对应的值变)。引用mut的前提是变量mut。 举个不恰当的例子:城北老二( |
Beta Was this translation helpful? Give feedback.
-
为什么输出一致? |
Beta Was this translation helpful? Give feedback.
-
2022.11.10 Done |
Beta Was this translation helpful? Give feedback.
-
第十一题 只要是在后面用到 关于 r1 的都会报不能同时使用可变借用
|
Beta Was this translation helpful? Give feedback.
-
第十题是一个很有意思的题目 但是楼下点赞量最高的说的是有问题的 这个其实是编译器原因,本身是不符合借用规则,但是编译器很聪明的认为,二者的交叉作用域没有形成交叉,所以满足不是同一时刻这个条件。所以通过 |
Beta Was this translation helpful? Give feedback.
-
第十题:一个引用的作用域从声明的地方开始一直持续到最后一次使用为止,在注释掉println!以后r1的最后一次使用是在r2声明前的push_str,因此在声明r2的时候r1的作用域已经结束了。 |
Beta Was this translation helpful? Give feedback.
-
不懂就问 .. 请问下人r1和s地址为什么一样 到了r2地址就变了 fn main() {
let mut s = String::from("hello");
println!("{:p}", &s);
let mut r1 = &mut s;
println!("{:p}", r1);
let r2 = &mut r1;
println!("{:p}", r2);
} |
Beta Was this translation helpful? Give feedback.
-
// 注释掉一行代码让它工作
fn main() {
let mut s = String::from("hello, ");
let r1 = &mut s;
r1.push_str("world");
let r2 = &mut s;
r2.push_str("!");
//通过注释掉最后一行代码,使r1的最后一次使用的位置在r2之前,让编译器在r2诞生前就把r1销毁了,避免了两个可变引用同时存在
//println!("{}",r1);
} |
Beta Was this translation helpful? Give feedback.
-
ownership/borrowing
Learning Rust By Practice, narrowing the gap between beginner and skilled-dev with challenging examples, exercises and projects.
https://zh.practice.rs/ownership/borrowing.html
Beta Was this translation helpful? Give feedback.
All reactions