Y a-t-il une différence entre throw()
et noexcept
autre que la vérification au moment de l'exécution et de la compilation, respectivement?
Cet article Wikipedia C ++ 11 suggère que les spécificateurs de jet C ++ 03 sont obsolètes.
Pourquoi donc, est-il noexcept
assez capable de couvrir tout cela au moment de la compilation?
[Remarque: j'ai vérifié cette question et cet article , mais je n'ai pas pu déterminer la raison solide de l'abandon.]
noexcept
des vérifications d'exécution peuvent également être nécessaires . La principale différence entre eux est que la rupturenoexcept
provoquestd::terminate
tandis que la rupturethrow
provoquestd::unexpected
. Également un comportement de déroulement de pile légèrement différent dans ces cas.