据我所知,virtual函数指针表在对象中的位置依赖于编译器。
将这个指针放在对象的开头还是放在对象的末尾有什么利弊?
发布于 2012-06-07 11:05:47
是的,它完全依赖于实现。
对于简单的继承层次结构,它位于对象的开头,但对于复杂的层次结构,它不会位于对象的开头。
无论如何,您编写的任何源代码都不应该依赖于它所在的位置,事实上,您编写的任何代码都不应该依赖于虚拟表或虚拟表指针的存在。
C++标准没有要求通过虚拟表和指针来实现虚拟调度,但是所有主流编译器都是通过表指针机制来实现的,但是所有主流编译器都是通过表指针机制来实现的。
https://stackoverflow.com/questions/10925115
复制相似问题