Frage

Ist der Aufruf von f() exception-sicher?

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());
}

Mit anderen Worten, macht es einen Unterschied, wenn es um die Unteilbarkeit der ersten und zweiten auto_new() Funktionsaufrufe kommt, wenn die beiden Funktionen inline sind?

War es hilfreich?

Lösung

Ja, es ist sicher Ausnahme; nein, macht inline keinen Unterschied zu den Sequenzpunkten in dem anrufenden Ausdruck gewährleistet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top