C++ 中的新运算符说明

问题描述 投票:0回答:1

以下声明的主要区别是什么

void* ptr = new int[5]();

void* ptr = new int[5];
c++ dynamic-memory-allocation new-operator
1个回答
1
投票

新表达式的详细信息解释于此处。在你的例子中有

new type new-initializer

在这两种情况下,类型都是 5 个整数的数组。

()
就是
new-initializer
。初始化的详细信息在本节中解释。对于整数,默认初始化(无
()
)意味着元素未初始化,值初始化意味着元素使用
0
值进行初始化。

© www.soinside.com 2019 - 2024. All rights reserved.