码迷,mamicode.com
首页 > 其他好文 > 详细

map 使用及map中数据更新测试

时间:2014-08-02 12:53:03      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:使用   os   io   数据   for   amp   res   ios   

#include <map>
#include <vector>
#include <iostream>


using namespace std;


struct UrlKeyStru
{
    int iUrlId;
    string strUrl;
};


struct TraceIP
{
    string IP;
    int iTTL;
};


struct UrlResDataStru
{
    int iSuccDialCount;
    int iBlockCount;
    vector<TraceIP> vecTraceIp;
};


// 1. 需要小于号的重载,用于map中,key的默认排序
bool operator < (const UrlKeyStru &struUrlKey1,const UrlKeyStru &struUrlKey2)  
{  
    if(struUrlKey1.iUrlId<struUrlKey2.iUrlId)  
        return true;  
    else  
        return false;  



int main(){


    UrlKeyStru key = {1, "hello\n"};
    UrlResDataStru data;
    std::map< UrlKeyStru,UrlResDataStru > ll;
     
    data.iSuccDialCount = 1; 
    //ll.insert( std::pair<UrlKeyStru,UrlResDataStru>(key,data) );
    ll.insert( std::make_pair(key,data));


    // 2 insert 成功失败的判断方法
    data.iSuccDialCount = 2;
    std::pair< std::map<UrlKeyStru,UrlResDataStru>::iterator,bool > ret;
    ret=ll.insert( std::pair< UrlKeyStru,UrlResDataStru >(key,data) );
   
    if( ret.second ){
        std::cout<<"成功"<<std::endl;
    }
    else{
        std::cout<<"失败"<<std::endl;
    }


    std::map< UrlKeyStru,UrlResDataStru>::iterator it;
    
    for (it=ll.begin(); it!=ll.end(); it++)
    {
        std::cout<< "key.iUrlId = " <<(it->first).iUrlId << "--> value.iSuccDialCount = " << (it->second).iSuccDialCount <<std::endl;
    }


    // 3 更新map中的data,需要用at命令,不能用insert。
    data.iSuccDialCount = 3;
    ll.at(key) = data;


    for (it=ll.begin(); it!=ll.end(); it++)
    {
        std::cout<< "key.iUrlId = " <<((UrlKeyStru)(it->first)).iUrlId << "--> value.iSuccDialCount = " << ((UrlResDataStru)(it->second)).iSuccDialCount <<std::endl;
    }


    return 0;
}

map 使用及map中数据更新测试,布布扣,bubuko.com

map 使用及map中数据更新测试

标签:使用   os   io   数据   for   amp   res   ios   

原文地址:http://blog.csdn.net/yaxf999/article/details/38346765

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!