【问题标题】:Does new[] initialise an array of builtins? [duplicate]new[] 是否初始化一个内置数组? [复制]
【发布时间】:2014-02-06 16:25:55
【问题描述】:

在 C++ 中使用new[] 是否会将分配的数组初始化为全零?

【问题讨论】:

  • 不,你必须自己做

标签: c++ initialization new-operator built-in-types


【解决方案1】:

new[] 是否初始化一个内置数组?

这取决于:

int* = new int[42];   // default initialization: elements not initialized

int* = new int[42](); // value initialization: elements are zero initialized

注意术语:在第一个示例中,元素被称为默认初始化,这对于内置函数意味着不执行初始化。在第二个示例中,元素是值初始化的,对于内置函数意味着零初始化。

【讨论】:

    猜你喜欢
    • 2020-09-18
    • 1970-01-01
    • 2013-05-22
    • 2013-03-01
    • 2016-03-03
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多