插入失败时list/map返回什么?
what does list/map return when insert failed?
向list/map中插入新元素时,返回指向新添加元素的迭代器。
但是如果插入失败,list/map返回什么?我已经阅读了参考资料,当失败时,list/map不会抛出异常。
map::insert
返回一对迭代器和bool值。如果插入失败,则将bool值设置为false
cplusplus网站非常清楚map::insert返回什么http://www.cplusplus.com/reference/stl/map/insert/
第一个版本返回一个pair及其成员Pair::first设置为一个迭代器,该迭代器指向新插入的对象元素或映射中已经具有相同值的元素。如果是新元素,pair中的第二个元素被设置为true如果存在具有相同值的元素,则为false。第二个版本返回一个指向new插入的元素或已具有相同值的元素地图。
iterator是成员类型,定义为双向迭代器类型。对该迭代器解引用将访问元素的值,即of类型对。
如果insert不能分配内存,则抛出bad_alloc
。在所有其他情况下,insert都可以完美地工作。链接
更新:它还需要复制插入的对象,这可能会抛出任何异常。
相关文章:
- 查找不存在的键时,unordered_map返回什么
- 如果我在 const 函数上使用指针,我可以返回什么?
- 使用枚举作为条件,if 条件将返回什么,真或假?
- 我应该返回什么而不是标准::shared_ptr<>&?
- 当你只使用 return 时,函数返回什么类型;在 c++ 中
- 在C++中,运算符 sizeof 返回什么数据类型?
- ActorItr 迭代器变量中有什么,* ActorItr 返回什么?
- mxGetPr 返回什么?
- 重载运算符返回什么类型的值(对于用户定义的类型):右值还是左值?
- 代码是否有效.如果我想显示第一个元素?如果不是,那么 s.begin() 会返回什么?
- 范围分辨率运算符在类型:: var的情况下返回什么
- fork_rv返回什么
- int* foo(int a)在C 中返回什么
- 当找不到请求的注册表值时,ReggetValue会返回什么
- 我们应该在带有 char *func(char *string) 的函数中返回什么?需要简要说明这与 c 中的 char
- 重载的 QAbstractItemModel::flags 应该为无效的 QModelIndex 返回什么
- 试图在每次输出后使用一个函数摆脱'0',但不确定我可以返回什么
- 查找函数在失败结果中应该返回什么
- 当c 中的矢量容器过载[]运算符时,我对未定义的索引返回什么
- 新运营商在组装中返回什么