list_insert
list_insert (std::list::insert — 원소 삽입)
std::list의 지정한 위치에 원소를 삽입하는 멤버 함수예요. 값, 개수+값, 이터레이터 범위, 초기화 목록 방식으로 삽입할 수 있어요.
출처: cppreference
본문
시그니처는 다음과 같아요.
iterator insert( const_iterator pos, const T& value ); // (1)
iterator insert( const_iterator pos, T&& value ); // (2) (since C++11)
iterator insert( const_iterator pos, size_type count, const T& value ); // (3)
template< class InputIt >
iterator insert( const_iterator pos, InputIt first, InputIt last ); // (4)
iterator insert( const_iterator pos, std::initializer_list<T> ilist ); // (5) (since C++11)
컨테이너에서 지정한 위치에 원소들을 삽입해요.
(1) pos 앞에 value를 복사 삽입해요.
(2) pos 앞에 value를 이동 삽입해요.
(3) pos 앞에 value의 복사본 count개를 삽입해요.
(4) pos 앞에 범위 [first, last)의 원소들을 삽입해요.
(5) pos 앞에 초기화 목록 ilist의 원소들을 삽입해요.
매개변수
pos: 삽입할 위치 바로 앞을 가리키는 이터레이터value: 삽입할 값count: 삽입할 원소 개수first, last: 삽입할 원소 범위를 정의하는 이터레이터 쌍ilist: 삽입할 원소들의 초기화 목록
반환값
삽입된 첫 번째 원소를 가리키는 이터레이터.
복잡도
(1,2,3,5) 상수. (4) first에서 last까지의 거리에 선형.
예제
#include <list>
#include <iostream>
int main()
{
std::list<int> l{1, 3};
auto it = l.begin();
++it; // 3을 가리킴
l.insert(it, 2); // {1, 2, 3}
for (int x : l) std::cout << x << ' ';
}