【发布时间】:2013-08-28 16:48:55
【问题描述】:
我的类有 3 个声明为公共的成员变量, 我最初可以在代码中的任何地方显式使用它,但我仍然用初始值编写了构造函数,这个构造函数会影响性能开销吗?
class ABC{
public:
int a;
int b;
int c;
ABC (): a(0) , b(0), c(0)
{
}
};
如果构造函数增加了性能开销,请告诉我?
【问题讨论】:
-
除非你每秒调用构造函数数百万次,否则它是无关紧要的。
-
如果编译器能够证明您之后总是在所有代码路径上显式初始化它,那么编译器应该能够将其优化为死赋值。同样,如果您在所有后续代码路径上分配复制省略,则应该启动它。
标签: c++ performance optimization constructor initialization