读书笔记《C++ Primer》第五版——第十三章 拷贝控制
来源:互联网 发布:unity3d天空盒神庙 编辑:程序博客网 时间:2024/06/07 21:28
1.使用=default来显示地要求编译器生成合成的拷贝控制函数
2.使用=delete来定义删除的函数
3.声明但不定义一个成员函数是合法的,调用一个未定义的成员将导致一个链接时错误
4.效率较好的swap函数定义应该如下:
void swap(A &a, A &b){ using std::swap; swap(a.m, b.m); //每个swap应该都是未加限定的 //交换类型A的其他成员}
5.左值持久,右值短暂
6.变量是左值,所以不能将一个右值引用绑定到一个右值引用类型的变量上
7.可用move标准库函数获得绑定到左值上的右值引用,如:
int &&rr3 = std::move(rr1);
8.可以销毁一个一个移后源对象,也可以赋予它新值,但不能使用移后源对象的值
9.移动操作通常不应抛出任何异常,可用noexcept来通知编译器
10.移后源对象必须可析构
11.移动右值,拷贝左值,但如果没有移动构造函数,右值也被拷贝
12.移动迭代器的解引用返回右值引用
13.可调用标准库的make_move_iterator函数将一个普通迭代器转换为一个移动迭代器
14.可在参数列表后防止一个引用限定符莱限制该函数能否被左值或右值调用
15.对于&限定的函数,只能用于左值;对于&&限定的函数,只能用于右值
16.一个函数可以同时用const和引用限定,引用限定符必须跟随在const限定符之后
阅读全文
0 0
- 读书笔记《C++ Primer》第五版——第十三章 拷贝控制
- C++primer第五版笔记-第十三章拷贝控制
- 《C++ Primer》读书笔记——第十三章_拷贝控制
- 实验测试1《C++ Primer》第五版——第十三章 拷贝控制
- 《C++primer(第五版)》学习之路-第十三章:拷贝控制
- c++primer(第五版) 第十三章 拷贝控制习题答案
- 《C++Primer》读书笔记——第13章 拷贝控制
- c++ primer(第五版)笔记 第十三章(1) 拷贝控制
- c++ primer(第五版)笔记 第十三章(2) 拷贝控制
- c++ primer(第五版)笔记 第十三章(3) 拷贝控制
- c++primer第五版第十三章练习
- c++primer第十三章拷贝控制小结-13
- c++ primer(第五版)学习笔记及习题答案代码版(第十三章)拷贝控制
- C++ Primer : 第十三章 : 拷贝控制示例
- 《C++ Primer》读书笔记第十三章-2-拷贝控制、交换、动态内存管理类
- c++ primer读书笔记-第十三章 复制控制
- C primer plus(第五版)编程练习第十三章
- C++ primer第五版_拷贝控制
- Mipi LCD 通用移植调试流程
- Django module数据类型
- 多态及其对象模型
- 开通Redis的远程访问
- 文章标题
- 读书笔记《C++ Primer》第五版——第十三章 拷贝控制
- 汇编写启动代码之开iCache
- MSSQL Transact-SQL 扩展插件分批删除多条
- Bailian4104 单词翻转【堆栈+字符流】(POJ NOI0107-27)
- codeforces-892B Wrath
- Lucene之模糊、精确、匹配、范围、多条件查询-yellowcong
- java中的四种引用(强、弱、软、虚)和GC的关系
- springboot、mybatis、thymeleaf、bootstrap整合框架
- HTML-列表篇