'noexcept' Spezifizierer für Getter und Setter

8

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)?

    
Alex 16.05.2017, 12:30
quelle

3 Antworten

4

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

%Vor%     
Walter 16.05.2017 12:38
quelle
2

Außerhalb von speziellen Elementfunktionen ist noexcept nicht das nützlich. Aber wenn du es willst:

%Vor%     
T.C. 16.05.2017 16:55
quelle
1

Erster Weg für Getter:

%Vor%

Der zweite Weg ist für Setter:

%Vor%     
knst 16.05.2017 12:39
quelle

Tags und Links