C++でstd::listを初期化します
この投稿では、C++でstd::listを初期化する方法について説明します。
以下に示すように、C++でリストを初期化する方法はいくつかあります。
1.指定された要素からリストを初期化します
C++ 11以降では、 イニシャライザリスト '{...}'
リストを初期化します。これはC++98では機能しません。標準では、リストをコンストラクターで初期化するのではなく、コンストラクターで初期化することが許可されているためです。 '{...}'
.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> #include <list> int main() { std::list<char> chars { 'A', 'B', 'C' }; for (char c: chars) { std::cout << c << std::endl; } return 0; } |
出力:
A
B
C
2.別のリストの要素からリストを初期化します
使用できます コピーコンストラクタ 同じ順序の要素を持つ別のリストの要素からリストを初期化します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> #include <list> int main() { std::list<char> another_list = { 'A', 'B', 'C' }; //コンストラクタをコピーします std::list<char> chars(another_list); for (char c: chars) { std::cout << c << std::endl; } return 0; } |
出力:
A
B
C
3.アレイの要素からリストを初期化します
使用できます 範囲コンストラクター アレイまたは別のコンテナの要素からリストを初期化します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> #include <list> int main() { char ch[] = { 'A', 'B', 'C' }; std::list<char> chars(std::begin(ch), std::end(ch)); //またはこのように初期化します // std::list<char> chars(ch, ch + sizeof(ch)/sizeof(char)); for (char c: chars) { std::cout << c << std::endl; } return 0; } |
出力:
A
B
C
4.指定された要素によって指定されたサイズのリストを初期化します
使用できます 塗りつぶしコンストラクター 指定された要素によって指定されたサイズリストを初期化します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> #include <list> int main() { unsigned size = 3; char ch = 'A'; //コンストラクターを埋めます std::list<char> chars(size, ch); for (char c: chars) { std::cout << c << std::endl; } return 0; } |
出力:
A
A
A
5.空のリストを初期化します
最後に、 デフォルトのコンストラクタ 以下に示すように、空のリスト(要素なし)を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> #include <list> int main() { std::list<char> chars; for (char c: chars) { std::cout << c << std::endl; } return 0; } |
これで、初期化についてです std::list
C++で。