1. ホーム
  2. c++

[解決済み] std::vectorをハードコードされた要素で初期化する最も簡単な方法は何ですか?

2022-03-15 16:52:25

質問

このように配列を作成し、初期化することができます。

int a[] = {10, 20, 30};

を作成するにはどうすればよいのでしょうか? std::vector と同じようにエレガントに初期化できますか?

私が知っている最良の方法は

std::vector<int> ints;

ints.push_back(10);
ints.push_back(20);
ints.push_back(30);

もっといい方法はないのでしょうか?

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

一つの方法は、配列を使ってベクトルを初期化することです。

static const int arr[] = {16,2,77,29};
vector<int> vec (arr, arr + sizeof(arr) / sizeof(arr[0]) );