c++ 动态数组初始值不为0?

Posted 码小余の博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ 动态数组初始值不为0?相关的知识,希望对你有一定的参考价值。

c++ 动态数组初始值不为0?

对于内置数据类型元素的数组,必须使用()来显示指定程序执行初始化操作,否则程序不执行初始化操作:

int *pia = new int[10]; // 每个元素都没有初始化

int *pia2 = new int[10] (); // 每个元素初始化为0

类类型元素的数组,则无论是否使用(),都会自动调用其默认构造函数来初始化:

string *psa = new string[10]; // 每个元素调用默认构造函数初始化

string *psa = new string10; // 每个元素调用默认构造函数初始化

以上是关于c++ 动态数组初始值不为0?的主要内容,如果未能解决你的问题,请参考以下文章

C++ 静态和动态数组初始化

数组动态初始化时,数组元素会被赋予一个默认值,简述各数据类型的初始值?

在 gcc 中将二维数组初始化为 0 时的值不正确

数组动态初始化时,数组元素会被赋予一个默认值,简述各数据类型的初始值?

C++如何在用new创建动态数组的同时初始化数组

让编译器检查数组初始值设定项的数量