小编Mik*_*ike的帖子

用C++编写堆栈对象 - 替代语法

可能重复:
C++中的以下短语是什么意思:零,默认和值初始化?

我对C++中的一个问题感到困惑.

使用默认构造函数在堆栈上创建对象时,我认为以下两种语法符号之一会产生相同的结果:

class MyClass { public: int i; }
int main()
{
  MyClass a = MyClass();
  MyClass b;
}
Run Code Online (Sandbox Code Playgroud)

但是,第一个语法将字段初始化为零,而第二个语法将字段初始化为未初始化.所以我的问题是:

  1. 为什么会这样?我认为C++中的字段不应该自动初始化.
  2. 两种语法之间是否还有其他差异?
  3. 这些语法变体是否具有单独的名称以区分它们?

我目前正在使用Microsoft Visual C++ 2010 Express.谢谢!

c++ syntax stack creation object

4
推荐指数
1
解决办法
571
查看次数

标签 统计

c++ ×1

creation ×1

object ×1

stack ×1

syntax ×1