【发布时间】:2011-06-02 01:14:58
【问题描述】:
如何在堆上手动初始化数组中的值? 如果数组是局部变量(在堆栈中),则可以非常优雅且简单地完成,如下所示:
int myArray[3] = {1,2,3};
不幸的是,下面的代码
int * myArray = new int[3];
myArray = {1,2,3};
编译输出错误
error: expected primary-expression before ‘{’ token
error: expected `;' before ‘{’ token
我必须使用循环,还是像这样不太优雅的方式?
myArray[0] = 1;
myArray[1] = 2;
myArray[2] = 3;
【问题讨论】:
-
从您的示例的外观来看,您希望使用值 1 .. N + 1 填充数组元素 0 .. N。for 循环可以很好地做到这一点。你的实际意图是什么?
标签: c++ memory-management heap-memory stack-memory