cplus constructor desstructor bulala analysis[c++默认的5个函数]
This project is maintained by wangfakang
在c++中当我们写一个类的时候,一般其会默认的有5个函数:
注意这几个函数的实现,当我们自己实现的的类有指针\引用等一定要注意上面的函数已经无法满足现有的需求了,
所以得去自己实现.
这里就说几个常用的吧(构造.析构.赋值.拷贝)浅拷贝,连续赋值.析构链等这些名词都应该知道.
1.什么时候必须使用初始化成员列表方式来构造对象?
当类中有引用或是const变量的时候.为什么恩?由于在构造函数内部是使用的赋值不是初始化.
而引用或者const只可以做一次初始化工作,不可以进行赋值操作,具有常性.
2.自己携带的指针什么的自己要进行空间的开辟(这也是构造函数的基本功能).
1.其参数列表为啥要是一个const &类型?
2.还有一个就是经常提到的浅拷贝问题的解决(老问题就不说了)
1.赋值构造函数一般只需要注意两点就ok了:
一个是自赋值的判断,一个是连续对象的赋值解决方案(这个只需要其返回其对象的引用就好了,原因就很简单单了).
当然别忘记了潜赋值陷阱.
好了,就说这么多了,周五了,周末愉快(呵呵...)
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流