在map中一次就能找到一个对象,有返回,没有插入

本文介绍了一种在C++ STL map中高效查找并插入元素的方法。通过使用`lower_bound`定位,确保了即使在未找到指定键时也能确定正确的插入位置。此技巧避免了多次迭代查找,提高了代码效率。
在一个map中查找一个值,没有的话插入,有的话,取出。只查找一次map的做法

 

 

 

 

     ////找出值小于等于uTypeID的第一个数,如果没找到,it已经是下一个需要插入的位置

        MyMap::iterator it = list->lower_bound( uTypeID );
    
if(  it != list->end() && (it->first==uTypeID)  )
    {
             
///找到了
        value = it->second;
    }
    
else
    {
            value
=new value();
            
/////记得给it参数,表示插入的位置
        pblist->insert(  it, MyMap::value_type( uTypeID, value)  );
    }

 

 

转载于:https://www.cnblogs.com/geniushuai/archive/2010/03/31/1701418.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值