Als «undefined-behavior» getaggte Fragen

Das unvorhersehbare Ergebnis des Kompilierens oder Ausführens eines Programms, das gegen Regeln der Sprache verstößt, müssen weder Compiler, Interpreter noch Laufzeitsystem erzwingen. Verwenden Sie dieses Tag NICHT für Fragen zum Datentyp oder zum Rückgabewert von "undefined". In diesen Fällen sollte stattdessen das Tag [undefined] verwendet werden.







8
Können Zweige mit undefiniertem Verhalten als nicht erreichbar angenommen und als toter Code optimiert werden?
Betrachten Sie die folgende Aussage: *((char*)NULL) = 0; //undefined behavior Es ruft eindeutig undefiniertes Verhalten hervor. Bedeutet das Vorhandensein einer solchen Anweisung in einem bestimmten Programm, dass das gesamte Programm undefiniert ist oder dass das Verhalten erst dann undefiniert wird, wenn der Kontrollfluss diese Anweisung trifft? Wäre das folgende Programm …





3
Ist der vorzeichenbehaftete Ganzzahlüberlauf in C ++ immer noch undefiniertes Verhalten?
Wie wir wissen, ist ein vorzeichenbehafteter Ganzzahlüberlauf ein undefiniertes Verhalten . In der C ++ 11- cstdintDokumentation gibt es jedoch etwas Interessantes : Ganzzahliger Typ mit Vorzeichen mit einer Breite von genau 8, 16, 32 bzw. 64 Bit ohne Auffüllbits und Verwendung des Zweierkomplements für negative Werte (nur bereitgestellt, wenn …



12
Vorzeichenüberlauf in C / C ++ erkennen
Auf den ersten Blick scheint diese Frage ein Duplikat von Wie erkennt man einen Ganzzahlüberlauf? es ist jedoch tatsächlich deutlich anders. Ich habe festgestellt, dass das Erkennen eines vorzeichenlosen Ganzzahlüberlaufs zwar ziemlich trivial ist, das Erkennen eines vorzeichenbehafteten Überlaufs in C / C ++ jedoch schwieriger ist, als die meisten …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.