std::back_insert_iterator
提供: cppreference.com
ヘッダ <iterator> で定義 | ||
template<class Container > class back_insert_iterator :publicstd::iterator<std::output_iterator_tag, | (C++17未満) | |
template<class Container > class back_insert_iterator; | (C++17以上) | |
std::back_insert_iterator
は指定されたコンテナに要素を追加する LegacyOutputIterator です。 イテレータ (逆参照されたかどうかにかかわらず) に代入されるとそのコンテナの push_back()
メンバ関数を呼びます。 std::back_insert_iterator
のインクリメントは何もしません。
目次 |
[編集]メンバ型
メンバ型 | 定義 |
iterator_category | std::output_iterator_tag |
value_type | void |
difference_type | void |
pointer | void |
reference | void |
container_type | Container |
メンバ型 | (C++17未満) |
[編集]メンバ関数
新しい back_insert_iterator を構築します (パブリックメンバ関数) | |
紐付けられたコンテナにオブジェクトを挿入します (パブリックメンバ関数) | |
何もしません (パブリックメンバ関数) | |
何もしません (パブリックメンバ関数) |
[編集]メンバオブジェクト
メンバ名 | 定義 |
container (protected) | Container* 型のポインタ |
[編集]例
Run this code
#include <iostream>#include <iterator>#include <algorithm>#include <vector> int main(){std::vector<int> v;std::generate_n(std::back_insert_iterator<std::vector<int>>(v), // can be simplified10, [n=0]() mutable {return++n;});// with std::back_inserterfor(int n : v)std::cout<< n <<' ';std::cout<<'\n';}
出力:
1 2 3 4 5 6 7 8 9 10
[編集]関連項目
引数から推定した型の std::back_insert_iterator を作成します (関数テンプレート) | |
コンテナの先頭に挿入するためのイテレータアダプタ (クラステンプレート) | |
コンテナに挿入するためのイテレータアダプタ (クラステンプレート) |