1
我徘徊在C++规范(cplusplus.com),发现没有什么讲述例外安全性的std :: unordered_mapC++ unordered_map异常安全
所以基本上如果我写
map["foo"]=5;
和抛出异常是因为我内存不足或bad_alloc,我可以对我的地图假设什么?
- 它保持有效状态? (基本保证)
- 保持不变? (强力担保)
- 它处于无效状态? (无担保)
我徘徊在C++规范(cplusplus.com),发现没有什么讲述例外安全性的std :: unordered_mapC++ unordered_map异常安全
所以基本上如果我写
map["foo"]=5;
和抛出异常是因为我内存不足或bad_alloc,我可以对我的地图假设什么?
23.2.4.1异常安全性的保证[associative.reqmts.except]
2对于关联容器,如果一个异常由任何 操作从抛出的插入件内或布设功能插入一个单一的 元素,插入没有效果。
本段落适用于索引操作符。所以:
谢谢!我怀疑这是强有力的保证,但找不到任何文件。 – GameDeveloper