flat_map::replace

flat_map::replace (내부 컨테이너 교체)

flat_map이 내부에 갖는 키/값 컨테이너들(기본 std::vector)을 통째로 교체하는 멤버 함수예요. <flat_map> 헤더, C++23부터.

출처: cppreference

본문

replace는 flat_map의 내부 키 컨테이너와 값 컨테이너를 지정한 것으로 교체해요.

void replace( key_container_type&& key_container,
              mapped_container_type&& mapped_container );
  • 새 키/값 컨테이너로 내용을 통째로 교체해요.
  • 키 컨테이너는 형식적으로 정렬되어 있어야 해요(미정렬이면 미정의/불변 해제).
std::flat_map<int, int> m{{1,10},{2,20}};
std::vector<int> keys{3, 4};
std::vector<int> vals{30, 40};
m.replace(std::move(keys), std::move(vals));
// m == {{3,30},{4,40}}

flat_map이 두 개의 벡터(키/값)로 구성된다는 점을 이용해, 그 저장 벡터를 다른 구간에서 가져온 벡터로 바꿔치기할 때 쓰는 함수예요. 보통은 생성자에 기본 컨테이너를 넘기는 방식을 더 자주 써요.

더 알아보기 (Learn more)

cppreference