map是命名空間(name space)STD內的標準函式庫STL(Standard Template Library)裡的一個物件(class)
主要功能是作一個簡單的資料結構,可以存放多組key,value的對應資料。
使用方法也很簡單
#include <map> #include <iostream> using namespace std; int main(int argc, char** argv) { //map<key, value=""> mapname; map<int, char*=""> items; items[12345] = "books"; items[12346] = "tables"; items[123456] = "phone"; return 0; }
這樣就輕鬆建立出一個ID(int)和物品(char*)的對應結構了!
key和value可以是任意的型態
也可以寫成
map<string, myclass> mapsomthing;
很方便使用吧!
如果要存取某個值也很簡單
跟用陣列一樣
cout << items[12345]; //print books
或是使用迴圈走訪每組數值的方式
for(map<int, char*>::iterator it = items.begin(); it != items.end(); it++){ cout << "key: " << it->first << " value: " << it->second << endl; }
基本上只要會靈活運用
這些就很夠用了
其餘還有可能會用到的有:find, erase, swap
使用方式都大同小異,看過範例之後應該就能懂了
map所擁有的member function如下:
參考網站:
http://www.cplusplus.com/reference/stl/map/
沒有留言:
張貼留言