Destructores y noexcept.
Estoy un poco confundido con destructores ynoexcept
. Mi entendimiento fue que en C ++ 11 cualquier destructor, incluido el definido por el usuario, está implícitamentenoexcept(true)
incluso si nosotrosthrow
de eso. Y uno tiene que especificar explícitamentenoexcept(false)
Si quieren que sea así por alguna razón.
Lo que estoy viendo es todo lo contrario: con GCC 4.7.2, el destructor definido por el usuario, no importa cuán primitivos sean la clase y el destructor, es implícitamentenoexcept(false)
. ¿Que me estoy perdiendo aqui? ¿Hay algún gotcha oculto con destructores definidos por el usuario?