码迷,mamicode.com
首页 > 移动开发 > 详细

C++笔记(11):拷贝控制(拷贝移动,构造赋值,析构)

时间:2017-05-07 10:30:25      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:编译   重载   显示   不能   笔记   let   成员   引用类型   绑定   

控制对象拷贝,赋值,析构

  拷贝构造函数,移动构造函数

  拷贝赋值运算符,移动赋值运算符

  析构函数

 -------------------------------------------------------------------------------------------------------------------------------------

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):拷贝控制(拷贝移动,构造赋值,析构)

标签:编译   重载   显示   不能   笔记   let   成员   引用类型   绑定   

原文地址:http://www.cnblogs.com/hustercn/p/6819343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!