0初始化C ++内置类型

时间:2011-03-10 16:10:12

标签: c++ performance initialization built-in-types

假设我有这个结构(或类,我的问题适用于两者):

struct builtin 
{ 
    int a;
    int b; 
    builtin() : a(), b(0) { } 
};

我知道a和b都会被builtin的构造函数初始化为0。 我的问题是:一种方法比另一种更快吗?

3 个答案:

答案 0 :(得分:7)

他们也这样做并且花费相同的时间。此外,在此级别上的优化是毫无意义的,直到分析器证明相反。使用对您更具可读性的内容。

答案 1 :(得分:1)

答案:不。编译后的代码完全相同。

答案 2 :(得分:1)

生成的机器代码没有区别,只是在可读性方面。这里,a默认初始化,而b设置为特定值。

在源代码中显示这一点很重要吗?选择最有意义的那个!