Map的使用
以下是一个更新Map里面的内容的例子:
// testmap.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <map>using namespace std;typedef unsigned int CTuint;typedef map<CTuint, CTuint>CTGroupQueue;typedef map<CTuint, CTuint>::iteratorIteratorGQ;CTGroupQueue m_mapGQ;void UpdateGroupCallQueue(CTuint groupId,CTuint callQueue){CTuint nGroupId,nQueue;if(m_mapGQ.size() == 0){m_mapGQ.insert(CTGroupQueue::value_type(groupId,callQueue));return;}IteratorGQ itGQ;for(itGQ = m_mapGQ.begin();itGQ!=m_mapGQ.end();itGQ++){nGroupId = (*itGQ).first;nQueue = (*itGQ).second;if (nGroupId!=groupId){ cout << "new "<<endl; m_mapGQ.insert(CTGroupQueue::value_type(groupId,callQueue)); return ;}else{ cout << "exist "<<endl; m_mapGQ.erase(itGQ); m_mapGQ.insert(CTGroupQueue::value_type(groupId,callQueue));}}}int _tmain(int argc, _TCHAR* argv[]){UpdateGroupCallQueue(10,1);UpdateGroupCallQueue(10,2);UpdateGroupCallQueue(20,2); IteratorGQ itGQ;int nLessAgent,nLessQueue;for(itGQ = m_mapGQ.begin();itGQ!=m_mapGQ.end();itGQ++){nLessAgent = (*itGQ).first;nLessQueue = (*itGQ).second;cout << "first "<<nLessAgent ; cout << " second "<<nLessQueue << endl; }getchar();return 0;}