forward_list_emplace_after

forward_list_emplace_after (std::forward_list::emplace_after — 지정 위치 뒤 제자리 삽입)

std::forward_list에서 지정한 위치 pos 바로 뒤에 새 원소를 제자리(in-place) 구성해 삽입하는 멤버 함수예요. 복사·이동 연산 없이 바로 만들어 넣어요.

출처: cppreference

본문

시그니처는 다음과 같아요.

template< class... Args >
iterator emplace_after( const_iterator pos, Args&&... args );   // (since C++11)

컨테이너에서 지정한 위치 바로 뒤에 새 원소를 삽입해요. 원소는 제자리에서 구성되며, 복사나 이동 연산이 수행되지 않아요. 원소의 생성자는 함수에 전달된 것과 똑같은 인자로 호출돼요. 이터레이터나 참조는 무효화되지 않아요.

매개변수

  • pos: 새 원소가 구성될 위치 바로 앞을 가리키는 이터레이터
  • args: 원소의 생성자에 전달할 인자들.

반환값

삽입된 원소를 가리키는 이터레이터.

복잡도

상수(constant)예요.

예제

#include <forward_list>
#include <iostream>
int main()
{
    std::forward_list<int> fl{1, 2, 3};
    auto it = fl.begin();          // 1을 가리킴
    fl.emplace_after(it, 99);      // 1뒤에 99 삽입 -> {1, 99, 2, 3}
    for (int x : fl) std::cout << x << ' ';
}

더 알아보기 (Learn more)

cppreference