Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL map::clear() 함수 완벽 정리 – 사용법, 구문, 예제

이 글에서는 C++ STL에서 제공하는 map::clear() 함수의 동작 방식, 구문 그리고 실제 활용 예제를 자세히 살펴보겠습니다.

C++ STL에서 맵(Map)이란?

맵(map)은 연관 컨테이너(associative container)의 일종으로, 키(key)와 키에 대응하는 값(mapped value)의 쌍으로 이루어진 요소들을 특정 순서에 따라 저장할 수 있게 해줍니다.

맵 컨테이너는 내부적으로 항상 키를 기준으로 데이터가 정렬되어 관리됩니다. 따라서 저장된 값들은 각각 고유한 키를 통해 빠르고 효율적으로 접근할 수 있습니다.

map::clear() 함수란?

map::clear()는 C++ STL에 내장된 함수로, <map> 헤더 파일에 정의되어 있습니다.

이 함수는 해당 맵 컨테이너에 저장된 모든 요소를 한 번에 삭제하며, 호출이 완료되면 컨테이너의 크기(size)가 0이 됩니다. 즉, 맵을 완전히 비우고 싶을 때 가장 간단하게 사용할 수 있는 방법입니다.

구문(Syntax)

Map_name.clear();

매개변수(Parameter)

이 함수는 어떠한 매개변수도 받지 않습니다.

반환 값(Return Value)

이 함수는 별도의 반환 값이 없습니다(void 타입).

예제

입력

map<char, int> newmap;
newmap['a'] = 1;
newmap['b'] = 2;
newmap['c'] = 3;
newmap.clear();

출력

size of the map is: 0

실전 코드 예제

아래 예제는 두 개의 맵을 생성하고, clear() 함수 호출 전후의 크기 변화를 확인하는 프로그램입니다.

#include <bits/stdc++.h>
using namespace std;
int main() {
    map<int, string> TP_1, TP_2;
    // 값 삽입
    TP_1[1] = "Tutorials";
    TP_1[2] = "Point";
    TP_1[3] = "is an";
    TP_1[4] = "education portal";
    // clear() 호출 전 맵 크기 출력
    cout<< "Map size before clear() function: \n";
    cout << "Size of map1 = "<<TP_1.size() << endl;
    cout << "Size of map2 = "<<TP_2.size() << endl;
    // clear() 호출로 모든 요소 삭제
    TP_1.clear();
    TP_2.clear();
    // clear() 호출 후 맵 크기 출력
    cout<< "Map size after applying clear() function: \n";
    cout << "Size of map1 = "<<TP_1.size() << endl;
    cout << "Size of map2 = "<<TP_2.size() << endl;
    return 0;
}

출력 결과

Map size before clear() function:
Size of map1 = 4
Size of map2 = 0
Map size after applying clear() function:
Size of map1 = 0
Size of map2 = 0

정리

map::clear()는 맵 컨테이너의 모든 요소를 손쉽게 삭제하고 크기를 0으로 초기화하는 유용한 함수입니다. 요소를 하나씩 지우는 erase()와 달리 전체를 한 번에 비울 수 있어, 컨테이너를 재사용하거나 메모리를 정리해야 할 때 효율적으로 활용할 수 있습니다.