您的位置:首页 > 编程语言 > C语言/C++

C++ Map 嵌套

2016-01-14 17:57 756 查看
在开发项目过程中,需要保存一些动态信息,还需要方便查找,采用了嵌套的map来保存

具体如下:

class P2PDirectService

{

typedef std::map<INT, std::map<std::string, INT> > DevicePortsMap;

typedef DevicePortsMap::iterator DevicePortsMapIterator;

DevicePortsMap m_devicesPortsMap;

}

// 添加

P2PDirectService::GetAvaliableExternalAddress()

{

INT lcPort;

INT extPort;

std::map<std::string, INT> temp;

temp[devIp->AsCStr()] = extPort;

m_devicesPortsMap[lcPort] = temp;

}

// 查找

P2PDirectService::DoPortMapping(

/* [in] */const InternetAddress& localAddr,

/* [in] */
InternetAddress& externalAddr,

/* [in] */ LPCSTR srvType,

/* [in] */ LPCSTR protocol)

{

DevicePortsMapIterator multiIte;

std::map<std::string, INT>::iterator ite;

multiIte = m_devicesPortsMap.find(localAddr.GetPort());

if (multiIte != m_devicesPortsMap.end())

{

ite = multiIte->second.find(localAddr.GetLiteralAddress());

if (ite != multiIte->second.end())

{

externalAddr.SetPort((LONG)ite->second);

return S_OK;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: