我有自定义数据结构Class Client
和ClientList
。
在ClientList中我做
map<ULONG, Client*> list;
然后我按
添加元素void ClientList::add(Client *client) {
list.insert(std::pair<ULONG,Client*>(client->getID(),client));
}
如何检查insert
是否失败?
答案 0 :(得分:7)
map::insert返回pair< iterator, bool >
,其中bool
表示项目是否已插入,或者密钥是否已存在于列表中。如果密钥已存在,则迭代器将指向此项。
答案 1 :(得分:1)
来自cplusplus.it
pair<iterator,bool> insert ( const value_type& x );
返回一对,其成员对:: first设置为迭代器,指向新插入的元素或指向已在地图中具有相同值的元素。如果插入了新元素,则对中的pair :: second元素设置为true;如果存在具有相同值的元素,则设置为false。