-1

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

4

1 回答 1

3

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

或者,嘿,也许它不会(尽管我不知道任何编译器会以这种方式运行),需要关心的是多态性有效,并且无论您声明了什么构造函数都将始终有效。

于 2014-10-27T20:01:30.070 回答