C++:map用法示例
生活随笔
收集整理的這篇文章主要介紹了
C++:map用法示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream>
#include <map>
using namespace std;
int main()
{/************************************************************************//* map的常用方法示例 *//************************************************************************/// map是一種關聯容器類,里面存儲的元素類型為pair<const KEY, DATA>。不同的元素KEY值不同。 // 定義map及其對應的迭代器map<char, int> mapTest;map<char, int>::iterator iterTest; // 在map中插入元素// 這種利用下標值的插入方式,當map中沒有對應鍵值的元素時,插入。當map中存在對應鍵值的元素時,修改其值或者獲取其值。mapTest['a'] = 10;mapTest['b'] = 20;mapTest['c'] = 30;mapTest['a'] = 15;// 這種使用insert的插入方式,當map中沒有對應鍵值的元素時,插入。當map中存在對應鍵值的元素時,不插入元素。pair<map<char, int>::iterator, bool> ret;mapTest.insert(map<char, int>::value_type('d', 40));ret = mapTest.insert(make_pair('d', 50));mapTest.insert(make_pair('e', 50));// 當使用insert函數后會返回pair<map<char, int>::iterator, bool>類型的值,bool值表示是否插入成功。迭代器指向插入的元素。cout << ret.second << endl;// map中查找某個指定鍵值的元素,查找成功則返回對應的迭代器。查找失敗則返回.end()對應的容器邊界迭代器。iterTest = mapTest.find('f');cout << (iterTest == mapTest.end()) << " find: 0 means success, 1 means failure"<< endl;// 正向遍歷cout << "正向" << endl;for (iterTest = mapTest.begin(); iterTest != mapTest.end(); iterTest++){cout << iterTest->first << " " << iterTest->second << endl;}// 反向遍歷cout << "反向" << endl;map<char, int>::reverse_iterator iter;for (iter = mapTest.rbegin(); iter != mapTest.rend(); iter++){cout << iter->first << " " << iter->second << endl;}// 使用size獲取容器中元素個數int num;num = (int)mapTest.size();cout << num << endl;// 使用clear清空容器mapTest.clear();// 使用empty判斷容器是否為空if (mapTest.empty()){cout << "The map is empty" << endl;}return 0;
}
?
總結
以上是生活随笔為你收集整理的C++:map用法示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PCL:超详细的基于法向量和曲率的区域生
- 下一篇: CloudCompare 的简单的使用说