English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ map clear() 함수 사용법 및 예제

C++ STL map(컨테이너)

C ++ map clear()함수는 map 컨테이너의 모든 요소를 제거합니다. 이를 통해 map을 지우고 크기를 0으로 설정합니다.

문법

void clear(); // C++ 11 이전
void clear() noexcept; //C++ 11 시작

매개변수

없음

반환 값

없음

예제1

이제 map을 지우기 전 후 크기를 계산하는 간단한 예제를 보겠습니다.

#include <iostream>
#include <map>
using namespace std;
int main() {
   map<char, int> mymap = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5},
            };
   cout << "clear 작업 전 map의 초기 크기 = " << mymap.size() << endl;
   mymap.clear();
   cout << "clear 작업 후 map의 크기 = " << mymap.size() << endl;
   return 0;
}

출력:

clear 작업 전 map의 초기 크기 = 5
clear 작업 후 map의 크기 = 0

위 예제에서 map은5요소가 초기화됩니다. 따라서 map의 크기는5삭제 작업 후, 크기는 0이 됩니다.

예제2

이제 map에 있는 요소를 지우기 위한 간단한 예제를 보겠습니다.

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main ()
{
  map<int,string> mymap;
  mymap[1] = "Nikita";
  mymap[2] = "Deep";
  mymap[3] = "Ashish";
  cout << "mymap에 포함된:\n";
  for (map<int,string>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
    cout << it->first << " : " << it->second << '\n';
  mymap.clear();
  
  mymap[4] = "Rajni";
  mymap[5] = "Sunil";
  cout << "\nmymap에 포함된:\n";
  for (map<int,string>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
    cout << it->first << " : " << it->second << '\n';
  return 0;
}

출력:

mymap에 포함된:
1 : Nikita
2 : Deep
3 : Ashish
mymap에 포함된:
4 : Rajni
5 : Sunil

위 예제에서 map을 지우고 나서, 초기화 없이 새로운 요소를 추가할 수 있습니다.

예제3

이제 map에 있는 요소를 지우기 위한 간단한 예제를 보겠습니다.

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main ()
{
  int n;
  map<int,string> m1,m2,m3;
  m1[1] = "Nikita";
  m1[2] = "Deep";
  m1[3] = "Ashish";
  
  m2[1] = "Nidhi";
  m2[2] = "Priya";
  m2[3] = "Gitanjali";
   m3[1] = "Rakesh";
  m3[2] = "Fruti";
  m3[3] = "Kamlesh";
  cout << "m1그룹에는 다음 멤버가 있습니다:\n"
  for (map<int,string>::iterator it=m1.begin(); it!=m1.end(); ++it)
  cout << it->first << " : " << it->second << '\n';
  cout << "m2그룹에는 다음 멤버가 있습니다:\n"
  for (map<int,string>::iterator it=m2.begin(); it!=m2.end(); ++it)
  cout << it->first << " : " << it->second << '\n';
  cout << "m3그룹에는 다음 멤버가 있습니다:\n"
  for (map<int,string>::iterator it=m3.begin(); it!=m3.end(); ++it)
   cout << it->first << " : " << it->second << '\n';
   cout << "\n어느 그룹을 제거하시겠습니까?\n 1.m1\n 2.m2\n 3.m3\n 당신의 선택을 입력하세요: ";
  cin >> n;
  if(n==1){
  m1.clear();
  cout << "\nm1그룹이 비워졌습니다.";
  }
  else if(n==2){
  m2.clear();
  cout << "\nm2그룹이 비워졌습니다.";
  }
  else if(n==3){
  m3.clear();
  cout << "\nm3그룹이 비워졌습니다.";
  }
  else
  cout << "Invalid option!";
  
  return 0;
}

출력:

m1그룹에는 다음 멤버가 있습니다:
1 : Nikita
2 : Deep
3 : Ashish
m2그룹에는 다음 멤버가 있습니다:
1 : Nidhi
2 : Priya
3 : Gitanjali
m3그룹에는 다음 멤버가 있습니다:
1 : Rakesh
2 : Fruti
3 : Kamlesh
어느 그룹을 제거하시겠습니까?
 1. m1
 2. m2
 3. m3
 당신의 선택을 입력하세요: 2
m2그룹이 비워졌습니다。

위의 예제에서 map은 세 그룹으로 나뉘어져 있으며, 사용자의 선택에 따라 그룹이 제거되었습니다.

예제4

하나의 간단한 예제를 보겠습니다:

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
    int n;
    map<string, int> fruit = {
        { "Banana", 40 },
        { "Apple", 190 },
        { "Orange", 120 },
    };
    cout << "과일 바구니에 있는 과일 = \n";
    for (map<string,int>::iterator it = fruit.begin(); it != fruit.end(); ++it){
        cout << it->first << " : " << it->second << '\n';
    }
    cout << \1표시는 예, 0은 아니: ";
    cin >> n;
    if (n == 1) {
        fruit.clear();
        cout << fruit.size() << " 개 과일이 바구니에 있습니다 \n";
    }
    else if (n == 0) {
        cout << fruit.size() << " 개 과일이 바구니에 있습니다 \n";
    }
    return 0;
}

출력:

1.
과일 바구니에는 다음과 같은 과일이 있습니다 =
Apple : 190
Banana : 40
Orange : 120
당신의 과일 바구니를 정리하시겠습니까?
누르세요1네를 의미하면 0을 누르세요, 아니면 0을 누르세요: 1
0 개 과일이 바구니에 있습니다
2. 
과일 바구니에는 다음과 같은 과일이 있습니다 =
Apple : 190
Banana : 40
Orange : 120
당신의 과일 바구니를 정리하시겠습니까?
누르세요1네를 의미하면 0을 누르세요, 아니면 0을 누르세요: 0
3 개 과일이 바구니에 있습니다

위의 예제에서, 과일 그래프는 세 개의 과일로 초기화됩니다. map을 지우려면 입력이 0이면 과일 바구니에 과일이3개 요소; 입력1그렇다면, 과일 그래프를 지우고 크기가 0으로 됩니다.

C++ STL map(컨테이너)