Suchergebnisse für Anfrage "undefined-behavior"

32 die antwort

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 ...

2 die antwort

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 ...

20 die antwort

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 ...

TOP-Veröffentlichungen

4 die antwort

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 ...

6 die antwort

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 ++ ...

8 die antwort

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.

4 die antwort

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 ...

12 die antwort

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; ...

12 die antwort

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 ...

8 die antwort

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, ...