Namespaces
Variants

std:: back_insert_iterator

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
헤더 파일에 정의됨 <iterator>
template < class Container >

class back_insert_iterator

: public std:: iterator < std:: output_iterator_tag , void , void , void , void >
(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

(C++20 이전)

std::ptrdiff_t

(C++20 이후)
pointer void
reference void
container_type Container

멤버 타입 iterator_category , value_type , difference_type , pointer reference std:: iterator < std:: output_iterator_tag , void , void , void , void > 로부터 상속받아 얻어야 합니다.

(C++17 이전)

멤버 함수

새로운 back_insert_iterator 를 생성합니다
(public member function)
연결된 컨테이너에 객체를 삽입합니다
(public member function)
아무 작업도 수행하지 않음
(public member function)
아무 작업도 수행하지 않음
(public member function)

멤버 객체

멤버 이름 정의
container (protected) Container* 타입의 포인터

예제

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
int main()
{
    std::vector<int> v;
    std::generate_n(
        std::back_insert_iterator<std::vector<int>>(v),
            // 또는 std::back_inserter 헬퍼 사용
            // 또는 C++17 문법인 std::back_insert_iterator(v) 사용
        10,
        [n = 0]() mutable { return ++n; }
    );
    for (int n : v)
        std::cout << n << ' ';
    std::cout << '\n';
}

출력:

1 2 3 4 5 6 7 8 9 10

참고 항목

인수에서 추론된 타입의 std::back_insert_iterator 를 생성함
(함수 템플릿)
컨테이너의 앞쪽에 삽입하기 위한 반복자 어댑터
(클래스 템플릿)
컨테이너에 삽입하기 위한 반복자 어댑터
(클래스 템플릿)