读书人

pair竟然可以这么使用

发布时间: 2013-06-25 23:45:41 作者: rapoo

pair居然可以这么使用?

pair<map<DWORD, Sample*>::iterator, bool> pr;
pr = m_mapDatas.insert(pair<DWORD, Sample*>((DWORD)pIDSample, pIDSample));
if(!pr.second)
{

}

这3句有什么用?

[解决办法]
记录刚刚新插入的 键/值 对儿对应的迭代器,if 判断插入是否成功。
[解决办法]
是的。
http://cplusplus.com/reference/map/map/insert/
pair.first 表示插入的位置,
pair.second 表示插入是否成功。
如果待插位置已有同键值元素,则插入失败。
[解决办法]

引用:
引用:记录刚刚新插入的 键/值 对儿对应的迭代器,if 判断插入是否成功。

你的意思就是:

map::insert的返回值是:

pair<map<T1, T2*>::iterator, bool> ???
insert有3种形式,直接插入键值对的返回值是pair<iterator,bool>,指定位置插入键值对的返回值是迭代器,插入队列的没有返回值
[解决办法]
http://www.cplusplus.com/reference/map/map/insert/

读书人网 >C++

热点推荐