记录:当常量或变量的所有权转换时的对比
来源:互联网 发布:行知中学官网 编辑:程序博客网 时间:2024/04/28 18:50
下面代码会编译错误: error: cannot assign to `*x` because it is borrowed
fn main() {
let mut x = box 5;
*x -= 1;
println!("y Oh no: {}", y);
return;
println!("Oh no: {}", x);
}
fn main() {
let mut x = box 5;
if *x < 10 {
// 问题在这里,注意当我们使用&x赋给y后,所有权暂时交给了y,所以修改x的值时,就会出现上面的编译错误,
// 如果注释掉下面*x -= 1;这行就是正确的。
let y = &x;*x -= 1;
println!("y Oh no: {}", y);
return;
}
// 虽然在if中已经将x的所有权交给y了,但是只要出了y这个变量的作用于,所有权就会又重新回到x
*x -= 1;println!("Oh no: {}", x);
}
0 0
- 记录:当常量或变量的所有权转换时的对比
- 在C++中各种变量常量的存储对比
- 当一个常量并不是真正的常量时
- 单引号里面的变量或常量不会再被解析
- 修改LINUX目录或文件的权限和所有权详解
- 修改LINUX目录或文件的权限和所有权详解
- 使用命令chown改变目录或文件的所有权
- Linux中chown命令:修改目录或文件的所有权
- 使用命令chown改变目录或文件的所有权
- 修改LINUX目录或文件的权限和所有权
- 修改LINUX目录或文件的权限和所有权详解
- 使用typeid(变量或类型).name()来获取常量或变量的类型---gyy整理
- java的标识符、变量、常量、数据类型、数据类型转换、x进制
- 常量变量的复习
- 变量常量的区别
- 变量、常量 的区别
- Template的所有权!
- 转移线程的所有权
- Qt 为程序制作自定义图标
- libsvm工具箱与MATLAB自带工具箱中svmtrian()函数冲突问题解决
- Remove Duplicates from Sorted List II
- LeetCode 19. Remove Nth Node From End of List
- Qt 之 “一般的登录窗口” VS “我写的个性化登录窗口”
- 记录:当常量或变量的所有权转换时的对比
- 在jsp之间传递中文参数出现乱码解决方法
- WordPress主题 大前端 阿里百秀 小清新CMS高级主题[更新v1.1]
- Partition List
- 关于一种投票阵营信息调查问题的研究
- B树、B-树、B+树、B*树
- JQUERY插入,复制、替换和删除节点
- 浅析jQuery删除节点的三个方法
- FreeBSD error when installation on ports