首页 > 代码库 > C++笔记(11):拷贝控制(拷贝移动,构造赋值,析构)
C++笔记(11):拷贝控制(拷贝移动,构造赋值,析构)
控制对象拷贝,赋值,析构
拷贝构造函数,移动构造函数
拷贝赋值运算符,移动赋值运算符
析构函数
-------------------------------------------------------------------------------------------------------------------------------------
1. 拷贝构造函数:参数必须是引用类型&,一般是const的
拷贝构造函数的第1个参数指的是对于自身类类型的引用
2.拷贝赋值运算符:本质是运算符函数重载
3.析构函数:释放和销毁对象,无返回值
使用“=default”来显示的要求编译器生成合成版本的拷贝构造函数、拷贝赋值运算符、析构函数
阻止拷贝:1)定义删除的函数:拷贝构造函数、拷贝赋值运算符使用“=delete”
2)析构函数不能是删除的成员
3)private拷贝控制:拷贝构造函数、拷贝赋值运算符使用“private”
对象移动:对于某些拷贝后就销毁的对象,移动而非拷贝会大幅度提高性能
新标准为了支持移动操作,引入了新的引用类型:右值引用:&&
右值引用只能绑定到一个即将被销毁的对象上面:int &&r=42;右值引用(int &r=i 是一般的左值引用)
或者使用标准移动函数move():int &&r=move(r1);
C++笔记(11):拷贝控制(拷贝移动,构造赋值,析构)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。