undefined-behavior

Das unvorhersehbare Ergebnis des Kompilierens oder Ausführens eines Programms, das Regeln der Sprache bricht, müssen weder Compiler, Interpreter noch Runtime-System erzwingen.
2
Antworten

Wie kann der Aufruf eines Funktionszeigers, der von einer vorherigen Ausführung gespeichert wurde, fehlschlagen?

Ich war neugierig, ob Funktionszeiger in einer Datei gespeichert und zu einem späteren Zeitpunkt verwendet werden könnten, wenn das Programm beendet und neu gestartet wurde. Zum Beispiel sah mein erstes Testprogramm so aus wie dieser Pseudocode...
06.11.2015, 07:25
1
Antwort

Sind statische Locals von Funktionsvorlagenspezialisierungen mit T = unbenannte Namespace-Klasse erforderlich, um eindeutig zu sein?

Wir verwenden den Intel C ++ - Compiler und haben festgestellt, dass er Folgendes falsch übersetzt (?), reduziert von einer Verwendung von boost::function<Ponies()> f(unnamedNamespacedFunctor) . a1.cc: %Vor% a2.cc: %Vor% main....
21.10.2015, 14:52
1
Antwort

Was ist die Bedeutung der speziellen Sprache im Standard für lvalue-to-rvalue Konvertierungen für vorzeichenlose Zeichenarten mit unbestimmtem Wert

Im C ++ 14-Standard (n3797) lautet der Abschnitt für lvalue to rvalue-Konvertierungen wie folgt (Hervorhebung von mir):    4.1 Lvalue-to-rvalue-Konvertierung [conv.lval]       Ein glvalue (3.10) eines Nicht-Funktions-Array-Typs T kann i...
06.09.2017, 01:10
1
Antwort

Erzwinge die Dereferenzierung des NULL-Pointers

Ich habe das sehr alte (und riesige) Win32-Projekt, das massive Überprüfungen mit dem NULL-Zeiger verwendet, indem es den Zeiger auf den dereferenzierten Zeiger verweist. So: %Vor% Und ja, Ich weiß, dass dieser Code dumm ist und refaktorier...
02.12.2016, 08:41
2
Antworten

OrderBy mit einem nicht transitiven IComparer

Nehmen Sie einen benutzerdefinierten IComparer, der zwei Doubles als gleich behandelt, wenn ihre Differenz kleiner ist als ein gegebenes Epsilon. Was würde passieren, wenn dieser IComparer in einer OrderBy () verwendet wird. ThenBy () -Klause...
03.12.2013, 23:25
8
Antworten

Verwendung der neu deklarierten Variablen in der Initialisierung (int x = x + 1)?

Ich bin gerade auf ein Verhalten gestoßen, das mich überrascht hat: Beim Schreiben: %Vor% in einem C / C ++ - Programm (oder noch komplexeren Ausdruck mit der neu erzeugten Variable x) kompiliert mein gcc / g ++ ohne Fehler. Im obigen Fal...
22.03.2012, 10:03
5
Antworten

Turbo C ++: Warum druckt printf erwartete Werte, wenn keine Variablen an ihn übergeben werden?

In einem Multiple-Choice-Test wurde eine Frage gestellt: Was wird die Ausgabe des folgenden Programms sein? %Vor% und die Auswahlmöglichkeiten waren verschiedene Permutationen von 10, 5 und 2. Aus irgendeinem Grund funktioniert es in Turbo C...
22.08.2013, 19:26
6
Antworten

Reihenfolge der Auswertung von Argumenten beim Funktionsaufruf?

Ich studiere über undefiniertes Verhalten in C und kam zu einer Aussage, die besagt, dass    Es gibt keine bestimmte Reihenfolge der Auswertung von Funktionsargumenten Aber was ist dann mit den Standard-Aufrufkonventionen wie _cdecl un...
24.03.2014, 17:55
7
Antworten

Undefiniertes Verhalten bei const_cast

Ich hatte gehofft, dass jemand genau erklären könnte, was mit undefiniertem Verhalten in C ++ gemeint ist. Angesichts der folgenden Klassendefinition: %Vor% Wenn ich richtig verstanden habe, entfernen die beiden const_casts sowohl für einen...
08.09.2011, 14:21
5
Antworten

Wie verhindert man einen Überlauf bei Verwendung der üblichen mathematischen Funktionen exp () log ()?

Alles steht im Titel. Wie überprüfe ich einen möglichen Überlauf bei Verwendung der beiden Funktionen exp () und log ()?     
11.07.2013, 10:18