虚拟表是 C++ 标准的一部分吗?

Are virtual tables part of the C++ standard?

我正在阅读有关 C++ 中后期绑定多态性的实现,并且了解了虚拟表和虚拟指针。

然后我搜索了 C++ 标准 (ISO/IEC 14882:2011) 以获取有关如何实现此行为的更多信息。

不幸的是,除了第 10.3 节 Virtual functions 的定义外,我在这个庞大的标准中没有发现任何相关内容,所以我想 GCC 使用了 __vptr 的概念,但可以以不同方式实施。

是否有标准或论文描述应该如何实现虚拟方法?

不,标准没有定义它们。它们是 实现 概念,更像是 堆栈 .

标准有助于允许以某种方式实现多态性,例如class的第一个成员变量的地址不必是class 的实例,如果 class 是多态类型。