map max effective insert

abr*_*hab 0 c++ insert map

这是一些工作代码:

std::pair<typename std::map< time_t, T >::iterator, bool> ret;    
ret = prt_map->insert ( std::pair< time_t, T >( seconds , value ) );
if (ret.second == false) // exists
{
 ... update exising value
}
Run Code Online (Sandbox Code Playgroud)

我想将其升级到最高效的插入代码,并提示插入需要从--prt_map-> end(); 就像是:

  prt_map->insert ( --prt_map->end(), std::pair< time_t, T >( seconds , value ) );
Run Code Online (Sandbox Code Playgroud)

但是这个插入函数prototupe不会返回std :: pair与bool通知添加或不添加的值(检查是否存在并更新如果是这样的...如何解决这个问题才能更新现有值?

Mic*_*Mic 5

a.insert(提示,t)的post条件是:

a包含一个元素,其键与t的键相同.a的大小增加1或0.

这应该是足够的信息来确定元素是否被插入.