Destruktory i noexcept
Jestem trochę zmieszany z destruktorami inoexcept
. Zrozumiałem, że w C ++ 11 każdy destruktor, w tym zdefiniowany przez użytkownika, jest niejawnynoexcept(true)
, nawet jeśli mythrow
z tego. I trzeba wyraźnie określićnoexcept(false)
jeśli chcą, żeby tak było z jakiegoś powodu.
To, co widzę, jest całkiem odwrotne - w GCC 4.7.2 zdefiniowany przez użytkownika destruktor, bez względu na to, jak prymitywna jest klasa i destruktor, jest domyślnienoexcept(false)
. Czego mi tu brakuje? Czy jest jakiś ukryty fragment z destruktorami zdefiniowanymi przez użytkownika?