wirKann der Compiler die noexcept'ness einer Funktion entscheiden?
class X
{
int value;
public:
X (int def = 0) : value (def) {}
void add (int i)
{
value += i;
}
};
eindeutig ein Beispiel tun, ist die Funktion void X::add (int)
nie jede Ausnahme werfen.
Meine Frage ist, kann der Compiler den Code analysieren und entscheiden, keinen Maschinencode zu generieren, um Ausnahmen zu behandeln, auch wenn die Funktion nicht als noexcept
markiert ist?
Ich bin neugierig, warum willst du das (wissen)? – Randy
Haben Sie * den von Ihrem Compiler erzeugten Code * überprüft? –
Es * kann *, genau wie es * kann * sagen, ob eine Funktion "const" oder nicht oder "constexpr" ist. Es ist immerhin ein Compiler. Ob es das tatsächlich tut und ob es diese Information benutzt, ist eine andere Frage. –