Exception sur-sécurité dans un appel de fonction
-
12-10-2019 - |
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?
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