Visual C ++ 2005 - 默认情况下是本地int和双变量初始化为0吗?

时间:2011-04-04 11:01:24

标签: c++ visual-c++

我的C ++有点生疏,所以Visual C ++ 2005中的一个快速问题是本地(到函数)int和默认情况下初始化为0的双变量?

在以下代码中是否正确:

void Foo()
{
int a, b, c = 0;
double d, e, f = 0.0;
}

c和f分别初始化为0和0.0而b,c,d和e未初始化,并且在发布模式下编译时可能包含一些垃圾,并且所有优化都已启用?

3 个答案:

答案 0 :(得分:7)

默认情况下不会初始化它们。 a,b,d和e将是未初始化的。

答案 1 :(得分:3)

自动局部变量未初始化,除非它们在您的代码中显式初始化,或者是具有默认构造函数的类型

欢呼&第h。,

答案 2 :(得分:0)

它们包含一些垃圾值,除非通过某些值初始化。无论是本地还是全球。