use*_*263 5 c++ optimization performance constructor initialization
我有3个成员变量声明为public的类,我最初可以在代码中的任何地方显式显示,我仍然使用初始值编写构造函数这个构造函数会影响性能开销吗?
class ABC{
public:
int a;
int b;
int c;
ABC (): a(0) , b(0), c(0)
{
}
};
Run Code Online (Sandbox Code Playgroud)
如果构造函数增加性能开销,请告诉我?
初始化可能会产生很小的成本.然而:
如果可以证明它们是不必要的,编译器可能能够消除初始化.
即使成本很低,也绝对有可能在整个应用程序的背景下完全无关紧要.您可以使用分析器来量化性能效果.
它让您确信这三个字段将始终初始化,从而消除某些类型的潜在错误.