呼び出しは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());
}
auto_new()
つまり、 2 つの関数がインラインである場合、1 番目と 2 番目の関数呼び出しのアトミック性に違いはありますか?