C++对象模型

 (1)类没有显示说明构造函数的情况下,默认构造函数在以下4种情况会由编译器生成:1.带有默认构造函数的类成员; 2 带有默认构造函数的基类 3.带有虚函数(编译器必须生成虚函数初始化vptr等)4.带有一个虚基类的类(编译器必须合成构造函数初始化vbcx)

 

 (2)NRV优化  优点,提高效率必须提供拷贝构造函数,缺点:不同的编译器支持和完成程度不同,例如微软的编译器可能有问题

 

(3)

构造函数初始列表初始化成员顺序(根据成员声明的次序初始化,可以用函数返回值初始化成员,但不推荐)

你可能感兴趣的:(C++对象模型)