Item 12. 赋值和初始化(Assignment and Initialization Are Different)

Item 12. Assignment and Initialization Are Different


是的,赋值(Assignment)与初始化(Initialization)不同,这归因于他们调用不同的函数
 赋值:   operator = 操作符
 初始化: 拷贝构造函数

---------------------------------------------------------------
1、什么时候调用赋值操作呢?
当然是有 “=” 的地方啦
其余的就是调用拷贝构造函数喽,例如函数传入参数的时候

2、什么时候自定义的类需要重写呢?
Effective C++说,当类中有指针数据成员,并且该数据成员在类中是new出来的,
原因是按位拷贝时会发生内存泄露。

3、重写注意的问题
重写operator = 时,要将原来的内存先释放掉

详细参照E11

原文地址:https://www.cnblogs.com/aiwz/p/6333252.html