【发布时间】:2016-03-31 03:31:00
【问题描述】:
我正在上一门非常初级的初学者编程课程,专注于 C++。我们目前正在学习有关成员变量与局部变量的知识。为此,我编写了这个非常简单的程序,以查看当声明局部变量但未初始化并赋予与 已 已初始化的成员变量相同的名称时的输出。
class myclass
{
public:
void getvalues();
myclass();
private:
int count;
};
myclass::myclass()
{
count = 100;
}
void myclass::getvalues()
{
int count;
std::cout << count << std::endl;
}
int main()
{
myclass foo;
foo.getvalues();
return 0;
}
我的期望是我会得到一些非常大的随机数的垃圾输出。相反,输出是0。有什么特别的原因吗?我正在使用 Xcode,如果这有影响的话。
【问题讨论】:
-
我无法想象这种行为是被定义的。您是否尝试过使用其他编译器(例如 g++)并查看是否得到相同的结果?
-
为什么不应该是0?它可以是任何东西,0 是任何东西。
标签: c++ xcode initialization