摘要:
C++里,如果程序员没有显式的定义默认构造函数(default constructor),编译器会在需要的时候生成一个,也就是隐式地声明出来。隐式声明的默认构造函数有两种,一种是trivial(无用的) constructor,什么都不做;另一种是nontrival constructor,编译器合成的是后者。在四种情况下,编译器需要合成nontrival constructor:1. 带有"Default Constructor"的成员类对象class A {public: A(), ... };class B {public: A a;};int f(){ B b; / 阅读全文