【发布时间】:2014-02-06 16:25:55
【问题描述】:
在 C++ 中使用new[] 是否会将分配的数组初始化为全零?
【问题讨论】:
-
不,你必须自己做
标签: c++ initialization new-operator built-in-types
在 C++ 中使用new[] 是否会将分配的数组初始化为全零?
【问题讨论】:
标签: c++ initialization new-operator built-in-types
new[] 是否初始化一个内置数组?
这取决于:
int* = new int[42]; // default initialization: elements not initialized
int* = new int[42](); // value initialization: elements are zero initialized
注意术语:在第一个示例中,元素被称为默认初始化,这对于内置函数意味着不执行初始化。在第二个示例中,元素是值初始化的,对于内置函数意味着零初始化。
【讨论】: