Suchergebnisse für Anfrage "undefined-behavior"
Warum ruft genau der Destruktor zum zweiten Mal undefiniertes Verhalten in C ++ auf?
Wie in @ erwähdiese Antwort [https://stackoverflow.com/questions/2763275/is-the-c-compiler-optimizer-allowed-to-break-my-destructor-ability-to-be-called/2763298#2763298] Das einfache Aufrufen des Destruktors zum zweiten Mal ist bereits ...
Warum ist die Initialisierung einer neuen Variablen an sich gültig? [Duplikat
Diese Frage hat hier bereits eine Antwort: Wie verhält sich eine nicht initialisierte Variable, die als eigener Initialisierer verwendet wird? [/questions/54200465/whats-the-behavior-of-an-uninitialized-variable-used-as-its-own-initializer] 3 ...
printf () ohne Argumente in C kompiliert gut. Wie
Ich habe das folgende Programm ausprobiert und erwartet, dass es zu einem Fehler bei der Kompilierung kommt, aber warum gibt der Compiler keinen Fehler aus? #include <stdio.h> int main(void) { printf("%d\n"); return 0; }Warum ist die Ausgabe ...
Verursacht * & ++ in C ++ 03 undefiniertes Verhalten?
Im eine andere Antwort [https://stackoverflow.com/a/17400329/1505939] Es wurde angegeben, dass vor C ++ 11, woi ist einint, dann benutze den Ausdruck: *&++iverursacht undefiniertes Verhalten. Ist das wahr On der anderen Antwort gab es eine ...
Wird der Ausdruck, auf den sizeof angewendet wird, nicht ausgewertet, ist es zulässig, einen Null- oder ungültigen Zeiger in sizeof in C ++ zu dereferenzieren?
Zunächst habe ich @ geseh Diese Frage zu C99 [https://stackoverflow.com/q/19785518/57428] und die akzeptierten Antwortreferenzenoperand wird nicht ausgewertet Formulierung im C99-Standardentwurf. Ich bin nicht sicher, ob diese Antwort auf C ++ ...
Ist es undefiniertes Verhalten, einen baumelnden Zeiger zu dereferenzieren?
Ich kann nicht finden, wo im Standard steht, dass dieses Programm undefiniert ist: #include <iostream> int main() { int *p; { int n = 45; p = &n; } std::cout << *p; } Keiner der Fälle in §3.8 Objektlebensdauer scheint hier zuzutreffen.
Ist die Last aufgrund eines nicht definierten Verhaltens falsch ausgerichtet?
Ist eine fehlausgerichtete Last aufgrund einer Besetzung vonvoid* undefiniertes Verhalten? Hier ist, was ich mit Clang und seinen Desinfektionsmitteln sehe: bufhelp.h:146:29: runtime error: load of misaligned address 0x7fff04fdd0e1 for type ...
Warum können wir in C außerhalb der Grenzen schreiben?
Ich habe kürzlich das Lesen des virtuellen Speichers beendet und habe eine Frage zur Funktionsweise von malloc im virtuellen Adressraum und im physischen Speicher. Zum Beispiel (Code aus einem anderen SO-Beitrag kopiert) void main(){ int *p; ...
Vermeidet dies UB
Diese Frage ist eher eine akademische, da es keinen gültigen Grund gibt, eine eigene @ zu schreibeoffsetof Makro mehr. Trotzdem habe ich hier und da dieses hausgemachte Implementierungs-Popup gesehen: #define offsetof(s, m) ((size_t) &(((s ...
Beispiel für einen durch UB verursachten Fehler beim Inkrementieren eines NULL-Zeigers
Dieser Code: int *p = nullptr; p++; Ursache undefiniertes Verhalten, wie es in @ besprochen wur Wird ein Nullzeiger inkrementiert, der genau definiert ist? [https://stackoverflow.com/q/29825352/3545273] Aber wenn ich meinen Kollegen erkläre, ...