gpt4 book ai didi

c++ - 如果没有使用带有虚函数的类,是否会生成虚函数表?

转载 作者:行者123 更新时间:2023-12-04 03:42:33 25 4
gpt4 key购买 nike

当在代码中定义了一个包含虚函数的类,但是这个类没有被使用(没有声明或者new),会不会在编译时生成这个类的虚表?

最佳答案

你可以写一些简单的code测试你的编译器:

#include <iostream>

class Foo {
public:
void Fun() {std::cout << __FUNCTION__;}
virtual void VirtualFun() {std::cout << __FUNCTION__;}
};

int main() {
Foo foo;
foo.Fun();
return 0;
}

如果你不使用类

编译器将忽略该类,因此不会生成任何内容

如果使用类但不调用虚函数

对于 gcc 10.2 它将生成虚拟表,与 msvc2019 相同。

关于c++ - 如果没有使用带有虚函数的类,是否会生成虚函数表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65712624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com