我想以使用逗号分隔花括号括起来的元素的格式初始化一个数组,例如:
int array[10]={1,2,3,4,5,6,7,8,9,10};
但是,我需要使用 new 运算符来分配内存,例如:
int *array = new int[10];
有没有办法组合这些方法,以便我可以使用 new 运算符分配内存并使用花括号初始化数组?
最佳答案
在新的 C++ 标准 (C++11) 中,您可以这样做:
int* a = new int[10] { 1,2,3,4,5,6,7,8,9,10 };
它被称为初始化列表。但在以前的标准版本中这是不可能的。
具有更多详细信息(并且很难阅读)的相关在线引用是 here .我还使用 GCC 和 --std=c++0x
选项进行了尝试,并确认它确实有效。
关于c++ - 使用 new 运算符初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603696/