阻止编译器自动生成copy函数和重载等号操作符
来源:互联网 发布:淘宝卖家软件有哪些 编辑:程序博客网 时间:2024/06/05 04:16
在看caffe源码的时候发现如下的代码:
#define DISABLE_COPY_AND_ASSIGN(classname) \private:\ classname(const classname&);\ classname& operator=(const classname&)
1.首先要明白这里反斜杠可以理解为续行符(链接下一行的,写在一行可读性比较差)
如果代码中有使用这样的语句class Test
class Test{CLASS_UNCOPYABLE(Test);};
则代码会被替换为:
class Test{private:Test (const Test&); Test& operator=(const Test&);};这样就起到了阻止编译器自动生成copy函数和重载等号操作符函数。
0 0
- 阻止编译器自动生成copy函数和重载等号操作符
- C++中拒绝编译器自动生成copy构造函数和copy赋值运算符操作(6)---《Effective C++》
- 重载等号操作符
- 等号操作符重载
- 条款6:阻止编译器自动生成拷贝构造函数和赋值函数
- C++中直接拒绝编译器自动生成copy constructor和copy operator=操作(6)---《Effective C++》
- 关于拷贝构造函数和等号运算符重载的试验
- 对象隐式转换,复制构造函数和重载等号运算符的区别
- Item 5 编译器自动生成和调用的函数
- C++构造函数和编译器自动生成代码的陷阱
- C++拷贝构造函数的调用时机,如没有重载等号操作符,需重写使用深拷贝
- 重载等号操作符(分析初始化对象和赋值对象的浅拷贝)(进阶3)
- EffictiveC++屏蔽编译器自动生成的函数
- 为何编译器无法自动生成拷贝函数
- 拒绝编译器自动生成的函数
- C++编译器会自动生成哪些函数
- 运算符重载之等号
- c++拷贝构造函数遇上等号重载
- Codeforces Round #280(Div. 2)
- 两种方法 更改 EBS R12界面LOGO以及内容
- Huffman编码
- Python网络学习资源汇总
- 23种设计模式-19-享元模式
- 阻止编译器自动生成copy函数和重载等号操作符
- NGINX工作模型
- Cracking the coding interview--Q8.8
- 使用CSplitterWnd实现拆分窗口(多视图显示)
- 23、内存管理完善
- repo sync 时的自动续接脚本[转]
- Visual Studio 版本的判断
- repo init 时gpg: 无法检查签名:找不到公钥
- Ubuntu的挂起和休眠