std:: list
|
ヘッダーで定義
<list>
|
||
|
template
<
class
T,
|
(1) | |
|
namespace
pmr
{
template
<
class
T
>
|
(2) | (C++17以降) |
std::list
は、コンテナ内の任意の位置からの要素の挿入と削除を定数時間でサポートするコンテナです。高速なランダムアクセスはサポートされていません。通常、双方向リンクリストとして実装されます。
std::forward_list
と比較して、このコンテナは双方向イテレーション機能を提供しますが、メモリ効率は劣ります。
リスト内または複数のリスト間での要素の追加、削除、移動は、イテレータや参照を無効化しません。イテレータは対応する要素が削除された場合にのみ無効化されます。
std::list
は
Container
、
AllocatorAwareContainer
、
SequenceContainer
および
ReversibleContainer
の要件を満たします。
std::listの全メンバ関数は
constexpr
となり、定数式の評価中に
std::list
オブジェクトの作成と使用が可能です。
ただし、
|
(C++26以降) |
目次テンプレートパラメータ
メンバ型
メンバー関数
非メンバー関数
注記
例
このコードを実行
#include <algorithm> #include <iostream> #include <list> int main() { // 整数を含むリストを作成 std::list<int> l = {7, 5, 16, 8}; // リストの先頭に整数を追加 l.push_front(25); // リストの末尾に整数を追加 l.push_back(13); // 検索によって16の前に整数を挿入 auto it = std::find(l.begin(), l.end(), 16); if (it != l.end()) l.insert(it, 42); // リストを出力 std::cout << "l = { "; for (int n : l) std::cout << n << ", "; std::cout << "};\n"; } 出力: l = { 25, 7, 5, 42, 16, 8, 13, };
不具合報告以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
関連項目
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||