【发布时间】:2012-08-16 23:53:53
【问题描述】:
可能重复:
What do the following phrases mean in C++: zero-, default- and value-initialization?
人们在很多地方都说过,对类构造函数的显式调用会导致值初始化[当不存在使用定义的构造函数时],并且默认构造函数不会这样做[这是一个无操作的构造函数] 但完全不同。
如果没有调用构造函数,实际会发生什么或者在这种情况下什么是值初始化?
【问题讨论】:
-
总是有记录这种行为的标准,但我想这不是你的意思,或者是吗?
-
是否有支持/提及/解释这种行为的文档? 是的,它被称为标准
-
这很快o.O感谢@Als指出这一点。搜索时没找到。
-
我错过了什么吗?根据您的回答,例如。类 A { int i; }; A x = A(); -> 值初始化,所以 i=0。美好的。 A x -> 默认初始化,这是 POD 类类型,因此它也应该是零初始化??
标签: c++ class default-constructor value-initialization