C++中每个类都有虚函数表吗?

我知道虚拟表是用于多态的。具有虚函数的类必须有 v-table。但是类没有虚函数呢?或者类没有基类怎么样?

最佳答案

C++ 的语言规范没有定义“vtable”是什么,或者哪些类需要一个。

编译器中 C++ 的特定实现通常使用 vtable 来实现虚拟方法。如果一个类没有虚方法(也没有具有虚方法的父类(super class)),那么编译器可能会省略 vtable。但是,请记住,这纯粹是编译器实现的决定,而不是标准所要求的。

关于c++ - C++中每个类都有虚函数表吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9477145/

10-09 13:27