C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊

C++ map clear() 函數(shù)使用方法及示例

C++ STL map(容器)

C ++ map clear()函數(shù)用于刪除map容器的所有元素。它清除map并將其大小設(shè)置為0。

語法

void clear(); // 在 C++ 11 之前
void clear() noexcept; //從 C++ 11 開始

參數(shù)

沒有

返回值

沒有

實(shí)例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 << "進(jìn)行clear操作前map的初始大小 = " << mymap.size() << endl;

   mymap.clear();

   cout << "進(jìn)行clear操作后的map的大小 = " << mymap.size() << endl;

   return 0;
}

輸出:

進(jìn)行clear操作前map的初始大小 = 5
進(jìn)行clear操作后的map的大小 = 0

在上面的示例中,map使用5個元素初始化。因此,map的大小為5,但清除操作后,大小變?yōu)?。

實(shí)例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后,我們可以添加新元素而無需初始化。

實(shí)例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分為三組,根據(jù)用戶的選擇,一組已被刪除。

實(shí)例4

讓我們看一個簡單的實(shí)例:

#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 << "\n你要清理你的水果桶嗎?\n按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表示否: 1
0 種水果在桶里

2. 
水果桶有以下水果 =
Apple : 190
Banana : 40
Orange : 120

你要清理你的水果桶嗎?
按1表示是,按0表示否: 0
3 種水果在桶里

在上面的示例中,一個水果圖用三個水果初始化。要求清除map,如果輸入0,則水果桶有3個元素;如果輸入1,則它將清除水果圖,大小變?yōu)?。

C++ STL map(容器)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清