面试题答案
一键面试#[derive(Clone)]
struct Point {
x: i32,
y: i32,
}
这样实现能保证跨平台兼容性是因为i32
类型在Rust中具有固定的大小和内存布局,无论在Linux还是Windows平台上,i32
都是4字节大小,内存布局也是一致的。derive(Clone)
会为Point
结构体自动生成Clone
trait 的实现,这个实现对于包含固定大小且内存布局一致的字段的结构体,在不同平台上的行为是相同的,所以能保证跨平台兼容性。