Su Eccezione-sicurezza in una funzione-Call
-
12-10-2019 - |
Domanda
E 'la chiamata a f()
sicura rispetto alle eccezioni?
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());
}
In altre parole, non si fa alcuna differenza quando si tratta di atomicità delle prime e seconde chiamate di funzione auto_new()
se le due funzioni sono in linea?
Soluzione
Sì, è sicuro eccezione; no, inline
fa alcuna differenza per i punti di sequenza garantiti nell'espressione chiamare.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow