gpt4 book ai didi

c++ - 虚拟方法优化

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:34 25 4
gpt4 key购买 nike

假设我有这样一个类:

class MyClass{
int somedata;
public:
virtual void DoSomething() { /*do something here*/}
};

然后我从来没有从这个类派生过。我意识到,如果编译器完全按照代码编写的方式编写程序集,那么每个 MyClass 实例都会因为虚函数而增加数据大小......

那么优化器是否符合标准来优化这样的类:

class MyClass{
int somedata;
public:
void DoSomething() { /*do something here*/} //Note absence of virtual
};

如果它是符合标准的优化,有编译器会这样做吗?

最佳答案

编译器和链接器只要不影响代码的预期行为(例如您引用的示例),就符合标准。

我清楚地记得浏览最近的 gcc 发行说明时特别提到,与链接器合作,它正是这样做的。

关于c++ - 虚拟方法优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37094983/

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