深度探索C++ 对象模型【第二章1】
1:在C++的构造函数上,往往编译器会做很多你不知道的事,就比如说构造函数的隐式转换,虽然有时候很方便,但是在某些情况下会造成一些意想不到的情况发生,explict关键词就因此而生~!
2:当编译器需要时,才会合成一个default constructor出来(默认构造函数)。被合成出来的默认构造函数只能执行编译器所需的行动,它不会满足程序本身的需要。下面讨论四种必须为class合成一个构造函数的情况
- 当一个class没有任何的构造函数,但其内部含有一个member class object 类对象,且该后者类有一个默认的构造函数时,那么就必须为该类合成一个构造函数(注意:合成的操作在构造函数真正需要被调用时才会发生,它会调用每一个member class object的默认构造函数)
- 当一个class没有任何构
还没有评论,来说两句吧...