flat_map::flat_map

flat_map::flat_map (생성자)

flat_map 객체를 생성하는 생성자 오버로드들이에요. 빈 컨테이너부터 범위·복사·이동 등 다양한 초기화를 지원해요. <flat_map> 헤더, C++23부터.

출처: cppreference

본문

std::flat_map의 생성자는 여러 형태가 있어요.

flat_map();                                      // (1) 빈 flat_map
explicit flat_map( const Compare& comp );        // (2) 비교기 지정

template< class InputIt >
flat_map( InputIt first, InputIt last );         // (3) 범위로 초기화

flat_map( std::initializer_list<value_type> init );   // (5) 목록 초기화
    1. 빈 flat_map을 만들어요.
    1. 사용자 정의 비교기 comp로 만들어요.
    1. 반복자 범위(키-값 쌍들)로 만들어 정렬해요.
    1. 초기화자 목록으로 만들어요.

그 외 복사 생성자 flat_map(const flat_map&), 이동 생성자 flat_map(flat_map&&)도 있어요.

std::flat_map<int, int> a;                     // 빈
std::flat_map<std::string, int> b{{"a",1},{"b",2}};   // 목록 초기화
std::flat_map<std::string, int> c(b);          // 복사

기본 컨테이너는 키/값 각각 std::vector이고, 생성자에 기본 컨테이너도 넘길 수 있어요. 정렬을 유지하며 저장해요.

더 알아보기 (Learn more)

cppreference