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
}
posted @   xiaotushaoxia  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示