注意,array<>是唯一一个“无任何东西被指定为初值时,会被预初始化(default initialized)”的容器。这意味着对于基础类型,初值可能不明确,而不是0(见3.2.1节第37页)。

这里提到的预初始化,其实更应该翻译成默认初始化。基础类性,也就是 int 之类的类型,在默认初始化的时候,并不会被初始化成 0,而是可能是垃圾值。而值初始化(Value Initialization),比如通过 {}() 来初始化,那么,int 会被初始化成 0。