Effective C++ 读书笔记 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
来源:互联网 发布:哈尔滨哪里有mac专柜 编辑:程序博客网 时间:2024/04/30 01:10
Core List
1. 禁止 copy 构造函数和 copy 赋值函数
(1) 声明函数为 private :客户无法使用 copy 函数。(编译器报错,但成员函数和友元函数仍可访问)
(2) 只声明,不定义:成员函数和友元函数无法使用。(链接器报错)
2. 继承 unCopyable 父类 (将报错从链接阶段提早到编译阶段)
class Uncopyable {
protected:
Uncopy() {};
~Uncopy() {};
private:
Uncopyable (const Uncopyable& );
Uncopyable& operator= (const Uncopyable& ); // 阻止Uncopyable 对象的拷贝行为
}
class HomeForSale:private Uncopyable { ... }
注:
编译器将自动生成拷贝函数,且“编译器生成版”会调用其 base class 的对应函数,由于基类的函数为 private, 因此此调用会被编译器拒绝,在编译阶段报错。
0 0
- Effective C++:条款06:若不想使用编译器自动生成的函数,就该明确拒绝。
- [Effective C++]条款06 若不想使用编译器自动生成的函数,就该明确拒绝
- 读书笔记《Effective C++》条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++ 条款06 若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++ 读书笔记 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 《Effective C++》学习笔记条款06 若不想使用编译器自动生成的函数,就该明确拒绝
- 《Effective C++读书笔记》--条款06:若不想使用编译器自动生成的函数,就应该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝.
- 条款06: 若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06 若不想使用编译器自动生成的函数 就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++——》条款6:若不想使用编译器自动生成函数,就该明确拒绝 .
- effective C++ 06_若不想使用编译器自动生成的函数,就该明确拒绝 读书笔记
- H264 帧边界识别简介
- RGB转换成Lab具体算法
- libevent源码深度剖析三
- 输入的那些函数
- MySQL数据库导入导出
- Effective C++ 读书笔记 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- Android Makefile 文件讲解
- easyui datagrid 日间格化(JS 日期时间本地化显示)
- 方兴东:毛泽东战略思想适用网络安全
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- python 从SocketServer到 WSGIServer 源码分析、
- mySQL查询优化
- C#与C/C++之别一
- 在SQL中用正则表达式替换html标签