[c++] 맵(map) 컨테이너

C++ 표준 라이브러리는 다양한 데이터 구조를 제공하는데, 그 중 하나가 map 컨테이너이다. Map은 쌍(pair)으로 이루어진 요소들을 관리하는 연관 컨테이너로, 각 요소는 키(key)값(value)으로 구성되어 있다.

Map 컨테이너의 기본 동작

Map 컨테이너는 키를 기반으로 고유한 요소를 관리한다. 다음은 Map 컨테이너를 사용하는 간단한 예제이다.

#include <iostream>
#include <map>
#include <string>

int main() {
    std::map<std::string, int> ages;

    // 요소 추가
    ages["Alice"] = 30;
    ages["Bob"] = 25;

    // 요소 조회
    std::cout << "Alice's age: " << ages["Alice"] << std::endl;

    return 0;
}

이 예제에서는 이름을 키로 사용하여 각각의 나이를 값으로 저장하고 있다.

Map 컨테이너의 주요 기능

Map 컨테이너는 데이터를 조회, 추가, 삭제 등의 작업을 수행할 수 있는 다양한 멤버 함수와 기능을 제공한다.

요소 추가와 업데이트

ages["Charlie"] = 20; // 추가
ages["Alice"] = 32; // 업데이트

요소 삭제

ages.erase("Bob");

요소 조회

if (ages.find("Alice") != ages.end()) {
    std::cout << "Alice's age: " << ages["Alice"] << std::endl;
}

요소 순회

for (auto& kv : ages) {
    std::cout << kv.first << "'s age: " << kv.second << std::endl;
}

요약

Map 컨테이너는 키-값 쌍을 관리하는 데 유용한 C++ 컨테이너로, 특히 검색과 조회가 자주 필요한 경우에 유용하다. 또한 키를 기반으로 중복된 값을 허용하지 않기 때문에 유용하게 사용될 수 있다.