日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hashmap boost

發(fā)布時間:2024/4/14 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hashmap boost 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
unordered_map
#include <boost/unordered_map.hpp> typedef struct {std::string pswd;bool inSetingPswd; }Pswd_t; typedef boost::unordered_map<uint32,Pswd_t> IdPswdMap; //設(shè)備信息表IdAddrMap m_devIdAddrMap;m_devIdAddrMap.clear();//添加元素 Addr_t dev; memset(&dev,0,sizeof(dev)); dev.addr=addr; dev.cntdown=MAXCNTDOWN; m_devIdAddrMap[devId]=dev;//查找元素 struct sockaddr_in *pdevAddr; IdAddrMap::iterator it2 = m_devIdAddrMap.find(devId); if (it2 == m_devIdAddrMap.end())pdevAddr=0; elsepdevAddr =&it2->second.addr;//刪除元素 IdAddrMap::iterator it = m_devIdAddrMap.find(value.head.dst.id); if (it != m_devIdAddrMap.end() )m_devIdAddrMap.erase(it);//遍歷map for(IdAddrMap::iterator it = pPlug->m_devIdAddrMap.begin(); it != pPlug->m_devIdAddrMap.end(); it++) {//cout<<it->first;//printf(" usr %d\n",it->second.cntdown);if(it->second.cntdown>0){it->second.cntdown--;}else if(it->second.cntdown<=0){pPlug->m_devIdAddrMap.erase(it);} } unordered_multimap
#include <boost/unordered_map.hpp> typedef boost::unordered_multimap<uint32,uint32> IdMap;//用戶id和設(shè)備id綁定表,first is usrIdIdMap m_devusrMap;//find usr by dev :devid-usrid //添加元素 m_devusrMap.insert(make_pair(devId,usrId));//查找元素for(IdMap::iterator it = m_devusrMap.find(devId); it !=m_devusrMap.end(); it++)//遍歷綁定過該設(shè)備的所有用戶 { // std::cout<<__LINE__<<" "<<it->first<<","<<it->second<<endl;usrId=it->second;it2 = m_usrIdAddrMap.find(usrId);//在所有這些用戶中找到第一個在線的用戶if (it2 != m_usrIdAddrMap.end()){pusrAddr =&it2->second.addr;break;}usrId=0xffffffff;pusrAddr=0; }// 查找元素,并從m_devusrMap解除for(IdMap::iterator it = m_devusrMap.find(devId); it !=m_usrdevMap.end(); it++) {std::cout<<it->first<<","<<it->second<<endl;if(it->second==usrId){m_devusrMap.erase(it);err= SMT_SUCCESS;res.value.szValue[0]=err;break;}if(it->first!=devId){break;} }//遍歷所有元素 for(IdMap::iterator it = m_devusrMap.begin();it !=m_usrdevMap.end(); ++it) {std::cout<<it->first<<","<<it->second<<endl; }

轉(zhuǎn)載于:https://www.cnblogs.com/-song/archive/2013/06/09/3331808.html

總結(jié)

以上是生活随笔為你收集整理的hashmap boost的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。