迂腐地说,x
是否在下面的代码中初始化了?
int main()
{
int x;
}
8.5 Initializers [dcl.init](对于 C++11)中有一些关于它的段落,但没有任何示例支持。
最佳答案
它是正式的默认初始化,这意味着对于int
,不执行任何初始化。
[dcl.init]/12 (N3797)
If no initializer is specified for an object, the object is default-initialized; if no initialization is performed, an object with automatic or dynamic storage duration has indeterminate value
[dcl.init]/7
To default-initialize an object of type
T
means:
if
T
is a (possibly cv-qualified) class type, the default constructor forT
is called [...];if
T
is an array type, each element is default-initialized;otherwise, no initialization is performed.
关于c++ - 局部作用域变量是初始化为未确定的值,还是未初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25999309/