C ++通过虚拟机制支持动态绑定。但是据我了解,虚拟机制是编译器的实现细节,而该标准仅指定了在特定情况下应发生的行为。大多数编译器通过虚拟表和虚拟指针来实现虚拟机制。这与虚拟指针和表的实现细节无关。我的问题是:
除了虚拟指针和虚拟表机制以外,是否有任何编译器以其他方式实现虚拟函数的动态分配?据我所知(通过阅读G ++,Microsoft Visual Studio),大多数人都是通过虚拟表指针机制来实现的。那么实际上还有其他编译器实现吗?
的sizeof
只是一个虚拟函数的任何类的将是一个指针(vptr的内部的大小this
在该编译器)。因此,既然虚拟指针和TBL机制本身就是编译器实现,那么我在上面所做的声明是否总是正确的?
慕码人2483693
相关分类