可以在数组上设置元素-int rgArrayNum [] = {16, 2, 77, 40, 12071};
我该如何在new指针上做同样的事情?我尝试了int *pArrayNum = new [] = {4 ,3 ,3} ;,但没有成功。

最佳答案

c++11中,您可以编写:

int *pArrayNum = new int[3]{4, 3, 3};


但是,在c++03数组中,不允许进行新的初始化。您必须单独初始化成员,或通过从堆栈中的数组复制来初始化成员:

int rgArrayNum [] = {16, 2, 77, 40, 12071};
int *pArrayNum = new int[sizeof rgArrayNum / sizeof rgArrayNum[0]];
std::copy(&rgArrayNum[0], &rgArrayNum[sizeof rgArrayNum / sizeof rgArrayNum[0]],
    pArrayNum);

关于c++ - 使用new设置数组元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12198450/

10-09 05:53