Pregunta

Es la llamada a f() excepción de fallos?

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 otras palabras, ¿Hay alguna diferencia cuando se trata de la atomicidad de la primera y segunda llamadas a funciones auto_new() si las dos funciones están en línea?

¿Fue útil?

Solución

Sí, es una excepción a salvo; no, inline hace ninguna diferencia para los puntos de secuencia garantizados en la expresión llamando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top