构造函数

    创建一个自定义类型的实例的方法只有一种:先命名,然后一次性初始化它的所有成员:

    和C++不同,Rust没有很多不同种类的构造函数,比如拷贝、默认、赋值、移动、还有其他各种构造函数。之所以这样的原因有很多,不过归根结底还是因为Rust显式化的设计哲学。

    复制和拷贝构造函数也是不存在的,因为Rust中的类型有且仅有移动语义。只是将y的字节移动到x的变量中。Rust倒是提供了两种和C++中的copy语义相似的功能:Copy和。Clone很像是拷贝构造函数,但是它不会被隐式调用。你必须在需要复制的元素上显式调用clone方法、Copy是的一个特例,它的实现只会拷贝字节码。Copy类型在移动的时候会隐式地复制,但是因为Copy的定义,这个方法只是不把旧的值设置为未初始化而已——其实是一个no-op。

    TODO:介绍“placement new”?