Vptr,默认构造函数与显式声明的构造函数

时间:2014-10-27 19:53:35

标签: c++ polymorphism vptr

编译器将代码插入到初始化VPTR的构造函数的开头。此操作是否受构造函数是默认构造函数还是显式声明的影响?两者之间有什么区别吗?

1 个答案:

答案 0 :(得分:3)

它将始终被插入,它必须是多态性才能工作,至少是编译器通常实现它的方式。它将始终初始化,您声明(或不声明)的构造函数是无关紧要的。

或者,嘿,也许它不会(虽然我不知道任何编程器的行为方式),所有需要关心的是多态性是否有效,并且无论如何都会一直有效你声明了什么构造函数。