c++动态数组初值

标签 c++

我需要动态创建一个整数数组。我发现使用静态数组时的语法

int a [5]={0};

将所有元素的值正确初始化为 0。

在创建动态数组时有没有办法做类似的事情

int* a = new int[size];

不必遍历 a 数组的所有元素?或者也许用 for 循环分配值仍然是最佳方法? 谢谢

最佳答案

当然,只需使用 () 进行值初始化:

 int* ptr = new int[size]();

(取自 this answer 与我之前密切相关的问题)

关于c++动态数组初值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10294801/

相关文章:

c++ - C++中继承时的方法重载

c++ - BlackBerry 示例项目不会为 VS 编译

c++ - std::list 线程 push_back、front、pop_front

c++ - 使用 Union 来避免动态分配问题

c++ - 如果 iostream 对象不可复制,为什么下面的代码是合法的?

java - 启动多语言子进程时出现 Storm 错误

c++ - 重新分配 vector 的内存

c++ - 从 C++ 中的文件加载数据时出现段错误

c++ - 内存型号 : Activation records

用于数组、 vector 、内置类型、STL 的 C++ 模板函数