Question

L'appel à exception de sécurité 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());
}

En d'autres termes, est-il une différence en ce qui concerne l'atomicité des premier et deuxième appels de fonction auto_new() si les deux fonctions sont en ligne?

Était-ce utile?

La solution

Oui, il est sûr d'exception; non, inline ne fait aucune différence aux points de séquence garantis dans l'expression appelant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top