C ++ unordered_map异常安全

时间:2013-06-22 14:09:49

标签: c++11 unordered-map exception-safety

我正在徘徊C ++规范(cplusplus.com)并发现没有告诉std :: unordered_map的异常安全

所以基本上如果我写

map["foo"]=5;

并抛出异常,因为我的内存不足或bad_alloc,我对地图有什么看法?

  • 是否处于有效状态? (基本保证)
  • 保持不变? (有力的保证)
  • 它处于无效状态? (不保证)

1 个答案:

答案 0 :(得分:5)

23.2.4.1异常安全保证[associative.reqmts.except]

  

2对于关联容器,如果任何异常抛出异常   从插入或插入函数插入单个操作   元素,插入没有效果。

本段适用于索引运算符。所以:

  • 保持不变。 (有力的保证)