「cpp/iterator/back insert iterator」の版間の差分
提供: cppreference.com
細 |
|||
16行: | 16行: | ||
{{dcl end}} | {{dcl end}} | ||
− | {{tt|std::back_insert_iterator}} は指定されたコンテナに要素を追加する {{ | + | {{tt|std::back_insert_iterator}} は指定されたコンテナに要素を追加する {{|OutputIterator}} です。 イテレータ (逆参照されたかどうかにかかわらず) に代入されるとそのコンテナの {{tt|push_back()}} メンバ関数を呼びます。 {{tt|std::back_insert_iterator}} のインクリメントは何もしません。 |
===メンバ関数=== | ===メンバ関数=== |
2018年6月18日 (月) 08:05時点における版
ヘッダ <iterator> で定義
|
||
template< class Container > class back_insert_iterator : public std::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
のインクリメントは何もしません。
目次 |
メンバ関数
メンバ型 | 定義 |
container_type
|
Container
|
メンバ関数
新しい back_insert_iterator を構築します (パブリックメンバ関数) | |
紐付けられたコンテナにオブジェクトを挿入します (パブリックメンバ関数) | |
何もしません (パブリックメンバ関数) | |
何もしません (パブリックメンバ関数) |
メンバオブジェクト
メンバ名 | 定義 |
container (protected)
|
Container* 型のポインタ
|
メンバ型
メンバ型 | 定義 |
iterator_category
|
std::output_iterator_tag |
value_type
|
void |
difference_type
|
void |
pointer
|
void |
reference
|
void |
メンバ型 |
(C++17未満) |
例
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 simplified 10, [n=0]() mutable { return ++n; }); // with std::back_inserter for (int n : v) std::cout << n << ' '; std::cout << '\n'; }
出力:
1 2 3 4 5 6 7 8 9 10
関連項目
引数から推定した型の std::back_insert_iterator を作成します (関数テンプレート) | |
コンテナの先頭に挿入するためのイテレータアダプタ (クラステンプレート) | |
コンテナに挿入するためのイテレータアダプタ (クラステンプレート) |