C++编译器默认生成的函数
来源:互联网 发布:淘宝商城的商品特色 编辑:程序博客网 时间:2024/05/21 15:44
class Empty {public: Empty(); // 缺省构造函数 Empty(const Empty& rhs); // 拷贝构造函数 ~Empty(); // 析构函数 ---- 是否 // 为虚函数看下文说明 Empty& operator=(const Empty& rhs); // 赋值运算符 Empty* operator&(); // 取址运算符 const Empty* operator&() const;};
如果未声明上述函数,则编译器会自动生成上述函数.
如果有以下语句,则编译器会自动调用上述函数.
const Empty e1; // 缺省构造函数 // 析构函数Empty e2(e1); // 拷贝构造函数e2 = e1; // 赋值运算符Empty *pe2 = &e2; // 取址运算符 // (非const)const Empty *pe1 = &e1; // 取址运算符 // (const)缺省构造函数和析构函数实际上什么也不做,它们只是让你能够创建和销毁类的对象.
缺省取址运算符只是返回对象的地址.这些函数实际上就如同下面所定义的那样:
inline Empty::Empty() {}inline Empty::~Empty() {}inline Empty * Empty::operator&() { return this; }inline const Empty * Empty::operator&() const{ return this; }详见http://www.kuqin.com/effectivec2e/ch12a.htm
阅读全文
0 0
- 编译器默认生成的函数
- C++编译器生成的默认函数
- C++编译器生成的默认函数
- C++编译器生成的默认函数
- C++编译器默认生成的函数
- 若不想使用编译器默认生成的函数,就该拒绝(Effective C++_6)
- C++ 编译器生成默认构造函数的四种情况
- 编译器自动生成默认构造函数的情况
- C++ 编译器生成默认构造函数的四种情况
- C++ 编译器生成默认构造函数的四种情况
- c++编译器什么时候生成默认构造函数
- Effective C++(6) 如何拒绝编译器的自动生成函数
- 关于默认构造函数的几个错误认识(四种情况下,编译器会生成默认构造函数)
- coding之痛:C++中编译器为类生成的几个默认的函数
- 什么情况下C++编译器会生成默认的构造函数
- 什么情况下C++编译器会生成默认的构造函数
- C++学习之构造函数的理解--模板形式的构造函数不会遮掩编译器生成的默认构造函数
- c++编译器何时会生成默认构造函数
- 折腾了一天, 我的TMS320C6713 JTAG 终于通了
- 医药采购项目中PL/SQL乱码问题解决
- 为什么开发Android应用配置了SDK还要配置JDK
- 九度OJ题目1109:连通图
- unacceptable content-type: text/plain}
- C++编译器默认生成的函数
- Picasso清空缓存策略(如更换头像)
- 坚持#第199天~尴尬了,上传的图片都未成功
- Gradle构建项目
- 底层文件I/O和ANSI标准I/O的区别
- js面向对象
- 一、(四)OOP 规约
- UVALive
- 简易的JQ轮播图