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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta