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++ STL设置差异 2022-01-01
- 提升 ASIO 流缓冲 2021-01-01
- C++:获取传递给函数的多维数组的行大小 2021-01-01
- 如何部分禁用 cmake C/C++ 自定义编译器检查 2021-01-01
- 为什么我们不能使用“虚拟继承"?在 COM 中? 2022-01-01
- 如何更改 SysDateTimePick32 或 CDateTimeCtrl 的背景颜色? 2022-01-01
- 随机插入/删除的综合向量与链表基准 2022-01-01
- 如何在 C++ 中正确使用命名空间? 2022-01-01
- 与 CAS 的原子交换(使用 gcc 同步内置函数) 2022-01-01
- 将不可复制的闭包对象传递给 std::function 参数 2021-01-01
