[C++] std::vectorの初期化

std::vectorのオブジェクトに初期値を入れたいときにどうするか。

stackoverflow.comではこの質問は何度も上がっている。
回答は例えば以下のようになる。
C++(03): Easiest way to initialize an STL vector with hardcoded elements

C++11ではvectorに対して

v.assign({1,2,3,4});

が使える。

vector::assign

Visual Studioではassignに配列を渡せるのはVisual Studio 2013以降。
Visual Studio 2012では上記のstackoverflowにもあるように配列の最初と最後を指定して配列内容をvectorに入れる方法が使える。

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

コメントを残す

コメントを投稿するには、以下のいずれかでログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。