rust所有权,一个关于“一致性”的小点
我感觉编程世界里有个东西很舒服,我也不知道该怎么称呼它,姑且叫它“一致性”吧
最近在浅浅了解rust。发现里面有一个小点很好的符合了这个一致性。
第一个图讲的是基本类型在赋值的时候默认就是拷贝的
第二个图讲的是用一个结构体变量初始化另一个结构体变量的时候,如果字段是基本类型,那么那些字段就是拷贝的。和第一个图中一致。
不过我感觉,可能改成 “一个结构体的字段都是基本类型的时候,赋值的时候默认就是拷贝的”,可能会更“一致”一点。 当然rust设计者肯定是有自己的考虑, 我想的可能逻辑是有问题的。
struct Point {
x:i32,
y:i32,
}
fn main() {
let a = Point{x:10, y:10};
let b=Point{..a};
let c = a;
println!("{}", a.x); // error value borrowed here after move
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人