我的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未初始化,并且在发布模式下编译时可能包含一些垃圾,并且所有优化都已启用?
答案 0 :(得分:7)
默认情况下不会初始化它们。 a,b,d和e将是未初始化的。
答案 1 :(得分:3)
自动局部变量未初始化,除非它们在您的代码中显式初始化,或者是具有默认构造函数的类型
欢呼&第h。,答案 2 :(得分:0)
它们包含一些垃圾值,除非通过某些值初始化。无论是本地还是全球。