Warm tip: This article is reproduced from serverfault.com, please click

其他-多个值的C ++数组赋值

(其他 - c++ array assignment of multiple values)

发布于 2011-04-20 15:25:57

因此,在初始化数组时,可以在一个位置为其分配多个值:

int array [] = {1,3,34,5,6}

但是如果数组已经初始化并且我想在一行中完全替换该数组中元素的值怎么办

所以

int array [] = {1,3,34,5,6}
array [] = {34,2,4,5,6}

似乎不起作用...

有办法吗?

Questioner
kamikaze_pilot
Viewed
11
Nawaz 2014-05-13 19:53:56

初始化赋值之间有区别你要做的不是初始化,而是分配。但是在C ++中不可能对数组进行这种分配。

你可以执行以下操作:

#include <algorithm>

int array [] = {1,3,34,5,6};
int newarr [] = {34,2,4,5,6};
std::copy(newarr, newarr + 5, array);

但是,在C ++ 0x中,你可以执行以下操作:

std::vector<int> array = {1,3,34,5,6};
array = {34,2,4,5,6};

当然,如果你选择使用std::vector而不是原始数组。