機能コールの例外セーフティ
-
12-10-2019 - |
質問
の呼びかけです f()
例外セーフ?
inline std::auto_ptr<C> auto_new() {
return std::auto_ptr<C>(new C());
}
void f(std::auto_ptr<C> p1,
std::auto_ptr<C> p2);
// ...
{
f(auto_new(), auto_new());
}
言い換えれば、1番目と2番目の原子性に関しては、違いを生みますか auto_new()
関数呼び出し2つの関数がインラインな場合は?
解決
はい、それは例外です。いいえ、 inline
呼び出し式で保証されたシーケンスポイントに違いはありません。
所属していません StackOverflow