拷贝赋值与移动赋值函数
赋值的过程会调用移动赋值或者拷贝赋值。
赋值不能引入初始化列表,因为成员都已经完成初始化了。
拷贝赋值
为了保证连等等逻辑正常,通常我们会返回引用。如果不返回引用,系统需要构造临时对象,从而更加耗费资源。
移动赋值
考虑到对自身移动赋值时的情况
比如
m = std::move(m);
析构函数
目的:释放资源;实现对于对象生存期的精确控制
不需要提供参数。
在析构函数被调用完后会实现内存回收。
如果显式的进行内存管理,就必须显式的进行内存回收。
str* m = new str();