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

ε祈祈猫儿з 提交于 2020-03-03 16:37:37

Item 12. Assignment and Initialization Are Different


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

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

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

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

详细参照E11

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!