How can I make `new[]` default-initialize the array of primitive types?(如何使`new []`默认初始化原始类型数组?)
问题描述
我不时需要为内置类型(通常是 char
)调用 new[]
.结果是一个具有未初始化值的数组,我必须使用 memset()
或 std::fill()
来初始化元素.
Every now and then I need to call new[]
for built-in types (usually char
). The result is an array with uninitialized values and I have to use memset()
or std::fill()
to initialize the elements.
如何使 new[]
默认初始化元素?
How do I make new[]
default-initialize the elements?
推荐答案
int* p = new int[10]()
应该可以.
但是,作为 Michael 指出,使用 std::vector
会更好.
However, as Michael points out, using std::vector
would be better.
这篇关于如何使`new []`默认初始化原始类型数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使`new []`默认初始化原始类型数组?


基础教程推荐
- 如何在 C++ 中初始化静态常量成员? 2022-01-01
- 如何检查GTK+3.0中的小部件类型? 2022-11-30
- 这个宏可以转换成函数吗? 2022-01-01
- 我有静态或动态 boost 库吗? 2021-01-01
- 常量变量在标题中不起作用 2021-01-01
- 在 C++ 中计算滚动/移动平均值 2021-01-01
- 如何通过C程序打开命令提示符Cmd 2022-12-09
- 静态库、静态链接动态库和动态链接动态库的 .lib 文件里面是什么? 2021-01-01
- 如何将 std::pair 的排序 std::list 转换为 std::map 2022-01-01
- C++结构和函数声明。为什么它不能编译? 2022-11-07