「std::list::list」の版間の差分
提供: C++入門
(相違点なし)
|
2014年7月12日 (土) 13:34時点における最新版
std::list::listは、C++のSTL コンテナのstd::listのコンストラクタです。std::listの初期化をします。
読み方
- std::list::list
- えすてぃーでぃー りすと りすと
目次
概要
std::list::list は、std::listのコンストラクタです。std::list::list の使い方をいくつか示します。 C++11では、コンテナの初期化もできるようになりました。
C++11の場合
// default (1) explicit list (const allocator_type& alloc = allocator_type()); // fill (2) explicit list (size_type n); list (size_type n, const value_type& val, const allocator_type& alloc = allocator_type()); // range (3) template <class InputIterator> list (InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type()); // copy (4) list (const list& x); list (const list& x, const allocator_type& alloc); // move (5) list (list&& x); list (list&& x, const allocator_type& alloc); // initializer list (6) list (initializer_list<value_type> il, const allocator_type& alloc = allocator_type());
初期化リストで初期化する
C++11では、std::initializer_listが実装され、初期化リストでコンテナが初期化できるようになりました。
list<int> list1{1,2,3};
このコードをコンパイルするには、C++11に対応したg++などのコンパイラが必要です。 コンパイルする場合には、-std=c++11などのオプションが必要です。
初期化リストで初期化する例 list2.cpp
ソースコード list2.cpp
/* * list1.cpp * Copyright (C) 2014 kaoru <kaoru@bsd> */ #include <iostream> #include <list> using namespace std; int main(int argc, char const* argv[]) { list<int> list1 = { 1,2,3 }; for (auto x: list1) { cout << x << endl; } return 0; }
コンパイル
g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ -Wl,-rpath=/usr/local/lib/gcc49 list2.cpp -o list2
実行例
% ./list2 1 2 3
指定した個数で同じ値を埋める list_init_fill1.cpp の例
ソースコード list_init_fill1.cpp
コンストラクタの第2引数の値で、第1引数の値だけ初期化します。 5を3を入れる、ということになります。 5を3回、push_back()するのと同義です。
/* * list1.cpp * Copyright (C) 2014 kaoru <kaoru@bsd> */ #include <iostream> #include <list> using namespace std; int main(int argc, char const* argv[]) { list<int> list1(3, 5); for (auto x: list1) { cout << x << endl; } return 0; }
コンパイル
g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ -Wl,-rpath=/usr/local/lib/gcc49 list_init_fill1.cpp -o list_init_fill1
実行例
% ./list_init_fill1 5 5 5
関連項目
- std::list
- std::list::list
- std::list::operator=
- 要素へのアクセス
- 変更