拷贝构造函数调用规则

在创建一个类的时候,编译器会提供添加三个函数:
1.默认构造函数,函数体为空;
2.默认析构函数,函数体为空;
3.默认拷贝构造函数,值拷贝;

如果已经有了有参构造函数,编译器不再提供默认无参构造,但是会提供默认拷贝构造函数;
如果已经有了拷贝构造函数,编译器不再提供其他构造函数。如果程序运行需要无参构造则会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
别的不多说了 非常好的东西 等待有缘人 摘录目录如下 Google C++ 风格指南 - 中文版 目录 译者前言 背景 1. 头文件 1.1. #define 保护 1.2. 头文件依赖 1.3. 内联函数 1.4. -inl.h文件 1.5. 函数参数的顺序 1.6. #include 的路径及顺序 译者 (YuleFox) 笔记 2. 作用域 2.1. 名字空间 2.1.1. 匿名名字空间 2.1.2. 具名的名字空间 2.2. 嵌套类 2.3. 非成员函数, 静态成员函数, 和全局函数 2.4. 局部变量 2.5. 静态和全局变量 译者 (YuleFox) 笔记 3. 类 3.1. 构造函数的职责 3.2. 默认构造函数 3.3. 显式构造函数 3.4. 拷贝构造函数 3.5. 结构体 VS. 类 3.6. 继承 3.7. 多重继承 3.8. 接口 3.9. 运算符重载 3.10. 存取控制 3.11. 声明顺序 3.12. 编写简短函数 译者 (YuleFox) 笔记 4. 来自 Google 的奇技 4.1. 智能指针 4.2. cpplint 5. 其他 C++ 特性 5.1. 引用参数 5.2. 函数重载 5.3. 缺省参数 5.4. 变长数组和 alloca() 5.5. 友元 5.6. 异常 5.7. 运行时类型识别 5.8. 类型转换 5.9. 流 5.10. 前置自增和自减 5.11. const 的使用 5.12. 整型 5.13. 64 位下的可移植性 5.14. 预处理宏 5.15. 0 和 NULL 5.16. sizeof 5.17. Boost 库 6. 命名约定 6.1. 通用命名规则 6.2. 文件命名 6.3. 类型命名 6.4. 变量命名 6.5. 常量命名 6.6. 函数命名 6.7. 名字空间命名 6.8. 枚举命名 6.9. 宏命名 6.10. 命名规则的特例 7. 注释 7.1. 注释风格 7.2. 文件注释 7.3. 类注释 7.4. 函数注释 7.5. 变量注释 7.6. 实现注释 7.7. 标点, 拼写和语法 7.8. TODO 注释 译者 (YuleFox) 笔记 8. 格式 8.1. 行长度 8.2. 非 ASCII 字符 8.3. 空格还是制表位 8.4. 函数声明与定义 8.5. 函数调用 8.6. 条件语句 8.7. 循环和开关选择语句 8.8. 指针和引用表达式 8.9. 布尔表达式 8.10. 函数返回值 8.11. 变量及数组初始化 8.12. 预处理指令 8.13. 类格式 8.14. 初始化列表 8.15. 名字空间格式化 8.16. 水平留白 8.17. 垂直留白 译者 (YuleFox) 笔记 9. 规则特例 9.1. 现有不合规范的代码 9.2. Windows 代码 10. 结束语

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值