<分区>
每个变量在使用前都应该被正确定义和初始化(给它赋值)。然而,在某些情况下,C++ 会将变量设置为默认值零。就像下面的案例。
class A{
...
static int val;
...};
//int val = 10; //This is the usual definition.
int val;//Definition without assigning a value.
...
A a; //a class A object
std::cout<<a.val;
结果将为零。显然,编译器将变量 a.val 初始化为零。我很好奇他们一般什么时候会这样做?