禁止拷贝和赋值构造函数DISABLE_COPY_ADN_ASSIGN
来源:互联网 发布:java仓库管理系统代码 编辑:程序博客网 时间:2024/05/18 01:59
#define DISABLE_COPY_ADN_ASSIGN(ClassName)\
ClassName(const ClassName &);\
ClassName(const ClassName &);\
void operator = (const ClassName &)
在没有显示定义时,编译器默认定义4个函数:
默认构造函数 A(); A a;
析构函数 ~A();
拷贝构造函数 A(A&); A a(b);
赋值构造函数A& operator = (A&); A a=b;
后面为对应的使用方式。
使用DISABLE_COPY_ADN_ASSIGN须在private:下。
private: DISABLE_COPY_AND_ASSIGN(Test);
声明私有的拷贝构造函数和赋值构造函数,但不去定义实现它们,有三方面的作用:
1.声明了拷贝构造函数和赋值函数,阻止了编译器暗自创建的专属版本.
2.声明了private,阻止了外部对它们的调用.
3.不定义它们,可以保证成员函数和友元函数调用它们时,产生一个连接错误.
0 0
- 禁止拷贝和赋值构造函数DISABLE_COPY_ADN_ASSIGN
- 禁止拷贝和赋值构造函数
- 禁止拷贝构造赋值函数
- 禁止拷贝构造赋值函数
- c++ 禁止拷贝构造函数和赋值构造函数
- 禁止拷贝构造和赋值
- 禁止类的拷贝构造函数和赋值操作符
- 赋值和拷贝构造函数
- 拷贝构造和赋值函数
- 拷贝构造函数和拷贝赋值函数
- 拷贝构造函数和赋值构造函数
- 拷贝构造函数和赋值构造函数
- 构造函数,拷贝构造函数,和赋值
- 赋值构造函数和拷贝构造函数
- 拷贝构造函数和赋值构造函数
- 拷贝构造函数和赋值构造函数
- 赋值构造函数和拷贝构造函数
- 拷贝构造函数和赋值构造函数
- 创建完美SDK的10个技巧
- 【软件测试】Java中Selenium Webdriver的使用
- Android 省市县 三级联动(android-wheel的使用)
- loadrunner 场景运行错误 error 81024解决方法
- initrid
- 禁止拷贝和赋值构造函数DISABLE_COPY_ADN_ASSIGN
- implements和extends的区别 延伸到Thread和runable的区别
- [从头学数学] 第210节 带着计算机去高考(二)
- 第11周项目2—储存班长信息的学生类
- 值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug”的问题
- 1.0 mysql的连接
- red5源码分析---13
- linux内核文件
- Linux进程间通信_IPC机制的深入理解2