Sagen wir, ich habe den folgenden Code:
%Vor% Die Verwendung von noexcept
für ganzzahlige Typen und Zeiger scheint mir ziemlich offensichtlich.
Aber was sind Empfehlungen bei nicht ganzzahligen Typen wie Klassen und Strukturen, die keine Exceptions in Konstruktor / Copy-Konstruktor und Konstruktoren ihrer Teile explizit auslösen (also throw
im Konstruktor-Body verwenden)?
Sie sollten noexcept
specifiers für Funktionen vermeiden, die möglicherweise ausgelöst werden (es sei denn, Sie sind bereit, Ihren Code-Aufruf std::terminate()
zu haben). Explizite throw
specifiers sind veraltet, also verlassen Sie sich nicht auf sie, sondern verwenden Sie den noexcept
-Operator . Zum Beispiel