Effective C++读书笔记
--By Nathan.Yu 2007-11-13--
2 构造/析构/赋值运算(之一)
条款05:了解C++默默编写并调用哪些函数
如果你自己没声明,编译器就会为类声明一个copy构造函数、一个copy
assignment操作符和一个析构函数。此外如果你没声明任何构造函数,编译器也会为你声明一个default构造函数。只有当这些函数被需要(被调用),它们才被编译器创建出来。
注意:编译器产出的析构函数是non-virtual的,除非这个class的base
class声明有virtual析构函数。
编译器何时拒绝生出operator=?
一般而言只有当生出的代码合法且有适当机会证明它有意义,编译器生成的copy assignment操作符其行为与copy构造函数如出一辙。万一两个条件有一个不符合,编译器就拒绝为class生产operator=。
情况1:当类含reference成员时,编译器将拒绝为其生成copy
assignment操作符。
情况2:当类含const成员时,编译器将拒绝为其生成copy
assignment操作符。
情况3:如果某类的base
classes将copy assignment操作符声明为private,编译器将拒绝为其derived
classes生成copy assignment操作符。
【要点摘录】C++不允许“让referenct改指向不同的对象”。
请记住:
编译器可以暗自为class创建default构造函数、copy构造函数、copy
assignment操作符,以及析构函数。
分享到:
相关推荐
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
effective c++读书笔记和总结 effective c++读书笔记和总结
基于 STM32F407VET6 的 STM32 电机驱动学习笔记 本库的使用方法 本库是 STM32 电机驱动的笔记合集,适用于学习STM32的基础驱动后进行学习。 V1.0 版本停止更新,V2.0 继续更新并加入交流异步电机的驱动教程。 STM...
c/c++博客笔记pdf总结 c/c++博客笔记pdf总结 c/c++博客笔记pdf总结 c/c++博客笔记pdf总结 c/c++博客笔记pdf总结 c/c++博客笔记pdf总结 c/c++博客笔记pdf总结
嵌入式开发学习笔记 ( java - c/c++ :从入门到入门 ) 叙述了我从小白到入门过程中遇到的问题以及解决方法(2018更新版)。
effective C++读书笔记,effective C++读书笔记,effective C++读书笔记
C++笔记 --- 类与结构 博客园大牛
effective C++ 很好 很不错 最好的C++进阶资料
2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-...
C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。
摘录了《Effective C++》 (Scott Meyers 著)中有参考价值的编写代码建议,方面阅读
Effective C++学习笔记 没有时间看Effictive C++书的人可以看看这个笔记 总结出了重点啊 适合有c++基础的人阅读
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...