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