このプロパティやその他の関連プロパティに使用される用語を思い出せません。
編集-そのような概念は存在しないかもしれませんが、ベクトルスワップ関数は例外をスローしないことが保証されているため、スワップを使用して関数の最後に変更をコミットすることを提唱したEffective C ++(またはより効果的なC ++)で何かを読んだことを覚えています。
このプロパティやその他の関連プロパティに使用される用語を思い出せません。
編集-そのような概念は存在しないかもしれませんが、ベクトルスワップ関数は例外をスローしないことが保証されているため、スワップを使用して関数の最後に変更をコミットすることを提唱したEffective C ++(またはより効果的なC ++)で何かを読んだことを覚えています。
関数が「例外セーフ」であると言っていると思います。たとえばhttp://en.wikipedia.org/wiki/Exception_safetyを参照してください。
ウィキペディアの記事では、安全性をさらにさまざまなレベルに分けています。これはここで関連するものです:
2. 強い例外安全性または変更なし保証とも呼ばれるコミットまたはロールバックのセマンティクス: 操作は失敗する可能性がありますが、失敗した操作には副作用がないことが保証されるため、すべてのデータは元の値を保持します。
例外の安全性とコミットまたはロールバックのセマンティクスを導入する STL 設計ドキュメントへの参照があります。
例外保証、特に「強力な保証」について考えているかもしれません。
あなたの編集を読んで、タイトルが少し間違っていると思います。例外がスローされたかどうかに関係なく(現在の文言に従って)副作用がないこと、または例外がスローされたときに副作用がないことを本当に意味しますか?ただし、メソッドが例外をスローせずに完了する場合は、副作用がありますか?かなり大きな違いがあります:)
後者は、Accelerated C# 2008 で「例外の中立性」として説明されています。