Rust语言的 moves、copies、clones
今天看到这个英文博客简明解释了这三个概念。
v1 = v
对于这个赋值,v的类型不同是不同的操作。整数这种简单类型是copy,v1和v是两个变量都可以用。如果是Vec类型就是move,所有权move转移到v1,v不能再使用。
clone是深copy,可能是完全复制,也可能是符合语义的复制(比如Rc)。
今天看到这个英文博客简明解释了这三个概念。
v1 = v
对于这个赋值,v的类型不同是不同的操作。整数这种简单类型是copy,v1和v是两个变量都可以用。如果是Vec类型就是move,所有权move转移到v1,v不能再使用。
clone是深copy,可能是完全复制,也可能是符合语义的复制(比如Rc)。