Suchergebnisse für Anfrage "unspecified-behavior"

10 die antwort

Strange-Werte beim Initialisieren des Arrays mit festgelegten Initialisierern

Wenn ich das Array unten initialisiere, sieht die Ausgabe ok aus, mit Ausnahme vonvalues[3]. Aus irgendeinem Grundvalues[3] initialisiert alsvalues[0]+values[5] gibt eine sehr große Zahl aus. Ich vermute, dass ich versuche, @ ...

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

9 die antwort

Nicht definiertes, nicht angegebenes und durch die Implementierung definiertes Verhalten

Was ist der Unterschied zwischen undefiniertem, nicht angegebenem und implementierungsdefiniertem Verhalten in C und C ++?

TOP-Veröffentlichungen

2 die antwort

Ist das Indizieren eines neuen Kartenelements und das Zuweisen von Lesevorgängen zu einem undefinierten Verhalten oder nur eine unbestimmte Aufgabe?

3 die antwort

Bewegen Sie Semantik und Funktionsreihenfolge Auswertung

Angenommen, ich habe Folgendes: #include <memory> struct A { int x; }; class B { B(int x, std::unique_ptr<A> a); }; class C : public B { C(std::unique_ptr<A> a) : B(a->x, std::move(a)) {} }; Wenn ich die C ++ - Regeln zur "nicht angegebenen ...

2 die antwort

Gibt es einen Sequenzpunkt zwischen einem Funktionsaufruf, der ein Objekt zurückgibt, und einem Methodenaufruf für dieses Objekt?

Wenn ich schreibe

4 die antwort

Sequenzpunkt-Mehrdeutigkeit, undefiniertes Verhalten?

Heute bin ich auf Code gestoßen, der unter clang ++ (3.7-git), g ++ (4.9.2) und Visual Studio 2013 ein anderes Verhalten aufweist. Nach einiger Reduzierung habe ich dieses Snippet gefunden, das das Problem hervorhebt: #include <iostream> using ...

10 die antwort

Wie kann man memmove in Standard C ohne Zwischenkopie implementieren?

Von der Manpage auf meinem System: void * memmove (void * dst, const void * src, size_t len); BESCHREIBUN Die Funktion memmove () kopiert len Bytes vom String src in den String dst. Die beiden Zeichenfolgen können sich überlappen; Die Kopie ...