1. ホーム
  2. c++

c++ 配列の複数値への代入

2023-10-14 05:33:54

質問

というように、配列を初期化するときに、一箇所で複数の値を代入することができます。

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

しかし、配列がすでに初期化されていて、その配列の要素の値を一行で完全に置き換えたい場合はどうすればよいのでしょうか。

なので

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

はうまくいかないようです...

というのは、何か方法があるのでしょうか?

どのように解決するのですか?

には違いがあります。 初期化 代入 . やりたいことは初期化ではなく、代入です。しかし、このような配列への代入は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 を生の配列の代わりに使うこともできます。