【发布时间】:2011-06-06 12:02:23
【问题描述】:
今天早上我问自己一件事,但我找不到合适的词来“谷歌”:
假设我有:
struct Foo
{
int bar;
};
struct Foo2
{
int bar;
Foo2() {}
};
struct Foo3
{
int bar;
Foo3() : bar(0) {}
};
现在如果我默认实例化Foo、Foo2和Foo3:
Foo foo;
Foo2 foo2;
Foo3 foo3;
bar 成员在哪种情况下正确初始化?
(Foo3 显然是明确地初始化了它,这里只显示与Foo2 的区别,所以问题主要是关于前两个。)
谢谢! :)
【问题讨论】:
-
澄清一下,
foo、foo2和foo3是在全局命名空间范围内还是在函数内? -
@Charles Bailey:这是我刚刚为我的问题编写的示例代码:它没有任何实际意义。但是,我不知道这会有所作为。你能告诉我更多吗?
-
我不确定,但这看起来像是一个相关问题:stackoverflow.com/questions/3930841/…
标签: c++ initialization