构造函数使用相关注意点:
构造函数是没有返回值,在方法中也不能有return。
构造函数中不能抛异常,如果在构造函数中抛异常,会导致对象半构造,而对象没有完全构造完成,是不会调用析构函数的,这时就会出现资源泄露。
构造函数的初始化列表比在构造函数中进行赋值初始化要高效。
构造二步法,一般不建议在构造函数中有过于复杂的构造,如一定要有,可建议使用构造二步法,如再定义一个init函数进行初始化工作。
拷贝构造函数:
创建类时,也会创建一个默认的拷贝构造函数,且默认构造函数是浅拷贝。
深拷贝与浅拷贝:
深拷贝是指对象指针成员指向的内存会做独立拷贝。
浅拷贝是指对象指针成员只拷贝指向,对指向内存不会做拷贝。
一般在对象中含有指针对象成员时,需要特别注明使用深拷贝,不然会出现问题,比如对指针指向内存多次delete。