CPP杂记——移动构造函数中需要注意的问题
首先提一下为什么要使用移动构造函数: 在多次使用传值做参数的方法时,不可避免的会产生临时对象从而调用拷贝构造函数。 . 默认的浅拷贝构造函数在临时变量被析构时还会释放其中的动态元素内存,这时便会对其他部分产生影响,c++11前未仔细优化的代码大都直接编写深拷贝构造函数,但由于作为参数的临时性,这种行为是无必要的。 . 这时的优化方法为使用“右值引用”,通过直接取得传入临时变量的所有权,可令如push_back(tempClass(args...))此类的函数只调用一次构造函数 具体做法:实现参数类型为const T& 或者 T&& 类型的具体方法 1.在移动构造函数中结束对原临时变量的引用时,需要
用户评论