map和pair的配合使用
map和pair的配合使用
2011-08-04 15:54:45.0 ???? 來(lái)源:博客園 ?? ???? 作者:佚名 關(guān)鍵詞:??map?? ??pair??| 一、map和pair簡(jiǎn)介 可以簡(jiǎn)單的理解為如下:map可以當(dāng)做一個(gè)容器(裝載具有一定格式的數(shù)據(jù));pair可以理解為元素(放入到容器的的一個(gè)個(gè)個(gè)體),發(fā)現(xiàn)pair并沒(méi)有單獨(dú)行動(dòng)的典型用法,正常都是配合map來(lái)使用(即把pair這個(gè)元素插入到map這個(gè)容器里面) 二、示例講解 typedef std::map<int, char *> Container; // int為map的鍵值(對(duì)應(yīng)值first),char為map的值(對(duì)應(yīng)于成員變量second) typedef std::pair<int, char *> Element; int _tmain(int argc, _TCHAR* argv[]) { Container container; // 定義map容器類實(shí)例 for (int nIndex = 0;nIndex < 10; nIndex ++) { char * p = new char[16]; sprintf(p,"element %d \0",nIndex); Element element(nIndex,p); // 定義pair類實(shí)例 container.insert(element); // 把元素插入到map容器里面 } // 查找鍵值為1的元素 Container::const_iterator ptr = NULL; ptr = container.find(1); if (ptr != container.end()) { printf("find key 1 \n"); } // 枚舉map容器的元素 Container::iterator begin = container.begin(); while(begin != container.end()) { printf("%d element value :%s\n",(*begin).first,(*begin).second); delete [] (*begin).second; (*begin).second = NULL; begin ++; } return 0; } 輸出如下: find key 1 0 element value :element 0 1 element value :element 1 2 element value :element 2 3 element value :element 3 4 element value :element 4 5 element value :element 5 6 element value :element 6 7 element value :element 7 8 element value :element 8 9 element value :element 9 三、附上map的相應(yīng)的接口說(shuō)明 begin() 返回指向map頭部的迭代器 clear() 刪除所有元素 count() 返回指定元素出現(xiàn)的次數(shù) empty() 如果map為空則返回true end() 返回指向map末尾的迭代器 equal_range() 返回特殊條目的迭代器對(duì) erase() 刪除一個(gè)元素 find() 查找一個(gè)元素 get_allocator() 返回map的配置器 insert() 插入元素 key_comp() 返回比較元素key的函數(shù) lower_bound() 返回鍵值>=給定元素的第一個(gè)位置 max_size() 返回可以容納的最大元素個(gè)數(shù) rbegin() 返回一個(gè)指向map尾部的逆向迭代器 rend() 返回一個(gè)指向map頭部的逆向迭代器 size() 返回map中元素的個(gè)數(shù) swap() 交換兩個(gè)map upper_bound() 返回鍵值>給定元素的第一個(gè)位置 value_comp() 返回比較元素value的函數(shù) |
總結(jié)
以上是生活随笔為你收集整理的map和pair的配合使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 局域网聊天9月局域网聊天
- 下一篇: 【转】非常道-中小软件公司项目管理