list_emplace_back

list_emplace_back (std::list::emplace_back — 끝에 제자리 삽입)

std::list의 끝에 새 원소를 제자리(in-place) 구성해 삽입하는 멤버 함수예요. 복사·이동 없이 바로 만들어 넣어요.

출처: cppreference

본문

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

template< class... Args >
void emplace_back( Args&&... args );          // (since C++11) (until C++17)
template< class... Args >
reference emplace_back( Args&&... args );     // (since C++17)

컨테이너의 끝에 새 원소를 덧붙여요. 원소는 std::allocator_traits::construct를 통해 구성되며, 보통 placement-new로 컨테이너가 제공한 위치에 제자리 구성돼요. 인자 args...std::forward<Args>(args)...로 생성자에 전달돼요. C++17부터 반환 타입이 reference로 바뀌어 삽입된 원소에 대한 참조를 돌려줘요.

복잡도

상수(constant)예요.

예제

#include <list>
#include <iostream>
#include <string>
int main()
{
    std::list<std::string> l;
    l.emplace_back("a");
    l.emplace_back("b");
    for (auto const& s : l) std::cout << s << ' ';   // a b
}

함께 보기

  • push_back: 끝에 원소를 삽입해요
  • emplace_front: 앞에 제자리 삽입해요

더 알아보기 (Learn more)

cppreference