移动构造函数和移动赋值运算符
如果第二个对象是在复制或赋值结束后被销毁的临时对象,则调用移动构造函数和移动赋值运算符,这样的好处是避免深度复制,提高效率。
为了直观地观察移动构造函数和移动赋值运算符的运行方式,编写一个类Pointer,该类的对象会在堆动态创建一个数组。
代码如下:
class Pointer
{
public:Pointer(const int i,const string &n){ mptr = new int[i]; length = i;name = n;cout <<"带参数构造函数\n";showID(); }Pointer() :mptr(nullptr), length(0){ cout << "无参数构造函数\n"; showID(); }virtual ~Pointer(){cout <
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
