Suchergebnisse für Anfrage "undefined-behavior"

2 die antwort

Kann undefiniertes Verhalten, das einem Verhalten von getc () folgen würde, ändern, wenn getc () über SIGINT @ beendet wir

Unter modernen Interpretationen von "Undefined Behaviour" kann ein Compiler davon ausgehen, dass keine Kette von Ereignissen auftritt, die dazu führen würde, dass undefiniertes Verhalten "unvermeidlich" wird, und Code eliminieren, der nur in ...

8 die antwort

Ruft das Freigeben eines int *, das einem char * (von `malloc` zugewiesen) zugewiesen wurde, Undefiniertes Verhalten auf?

Der Titel ist vielleicht verwirrend. Annehmenstr ist ein Zeiger, der von @ zugewiesen wimalloc. ptr, vom Typint*, ist ihm zugewiesen und wird wie im folgenden Codeausschnitt gezeigt freigegeben: char* str = malloc(64); int* ptr = str; ...

20 die antwort

Wie undefiniertes Verhalten erkennen

Gibt es eine Möglichkeit herauszufinden, ob Ihr Programm ein undefiniertes Verhalten in C ++ (oder sogar C) aufweist, ohne sich die gesamte Spezifikation zu merken? Der Grund, den ich frage, ist, dass ich viele Fälle von Programmen bemerkt ...

TOP-Veröffentlichungen

10 die antwort

Kann "sizeof (arr [0])" zu undefiniertem Verhalten führen?

Es gibt ein bekanntes Muster, um die Länge eines Arrays herauszufinden: int arr[10]; size_t len = sizeof(arr) / sizeof(arr[0]); assert(len == 10);Dieses Muster gilt für statische Arrays und Auto-Arrays mit konstanter Größe. Dies gilt auch für ...

4 die antwort

i = i ++; ist nicht definiert. Ist i = foo (i ++) auch undefiniert?

Beispielsweise int foo(int i) { return i; } int main() { int i = 0; i = i++; // Undefined i = foo(i++); // ? return 0; }Was würde der aktuelle ISO C ++ - Standard für diesen Fall festlegen? BEARBEITEN Hier werde ich verwirrt: Sofern nicht ...

8 die antwort

Grund für Zeigervergleiche außerhalb eines Arrays ist UB

So, der Standard (unter Bezugnahme auf N1570 [http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf]) sagt Folgendes über das Vergleichen von Zeigern: C99 6.5.8 / 5 Vergleichsoperatoren Wenn zwei Zeiger verglichen werden, hängt das ...

44 die antwort

Is uninitialized local variable the fastest random number generator

Ich weiß, dass die nicht initialisierte lokale Variable undefiniertes Verhalten ist UB), und auch der Wert kann Überfüllungsdarstellungen haben, die den weiteren Betrieb beeinträchtigen können, aber manchmal möchte ich die Zufallszahl nur zur ...

2 die antwort

Ist Zeigervergleich undefiniertes oder nicht angegebenes Verhalten in C ++?

Die C ++ Programming Language 3rd Edition von Stroustrup sagt, dass Subtraktion von Zeigern wird nur definiert, wenn beide Zeiger auf Elemente desselben Arrays zeigen (obwohl die Sprache keine schnelle Möglichkeit hat, dies sicherzustellen). ...

4 die antwort

Verwenden von GCC Undefined Behavior Sanitizer

Heute habe ich gelesenein Artike [https://developers.redhat.com/blog/2014/10/16/gcc-u ndefined-behavior-sanitizer-ubsan/] ÜberGCC Undefined Behavior Sanitizer (ubsan) . Wenn ich dort jedoch den Schritten folge (add-fsanitize=undefined zu ...

8 die antwort

Sind Zeigervariablen nur Ganzzahlen mit einigen Operatoren oder sind sie "symbolisch"?

EDIT: Die ursprüngliche Wortwahl war verwirrend. Der Begriff "symbolisch" ist viel besser als das Original ("mystisch"). In der Diskussion über meine vorherige C ++ - Frage wurde mir gesagt, dass Zeiger @ si " ein einfacher Wertetyp ähnlich ...