关于 STL 容器集和多集,插入函数的返回类型并不完全相同。 set提供如下接口:
pair<iterator,bool> insert(const value_type& elem);
iterator insert(iterator pos_hint, const value_type& elem);
multiset提供如下接口:
iterator insert(const value_type& elem);
iterator insert(iterator pos_hint, const value_type& elem);
在set的第一个函数中,pair结构的成员second返回插入是否成功。如果集合中已经包含具有相同值的元素,则元素的插入可能会失败。但是在 set 的第二个函数中,插入函数只是返回一个迭代器。如果插入失败会发生什么?有人能告诉我吗?非常感谢。