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) 목록 초기화
-
- 빈 flat_map을 만들어요.
-
- 사용자 정의 비교기
comp로 만들어요.
- 사용자 정의 비교기
-
- 반복자 범위(키-값 쌍들)로 만들어 정렬해요.
-
- 초기화자 목록으로 만들어요.
그 외 복사 생성자 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이고, 생성자에 기본 컨테이너도 넘길 수 있어요. 정렬을 유지하며 저장해요.