language-lawyer

Für Fragen zu den Feinheiten formeller oder autoritativer Spezifikationen von Programmiersprachen und Umgebungen.
4
Antworten

Verändertes Objekt - keine Warnung? Auch in diesem Fall ist es UB?

Warum gibt es im folgenden Code keine Warnung? %Vor% So habe ich es genannt: %Vor% Auch ich habe folgende Frage: Ist das, was ich undefiniertes Verhalten getan habe? Hinweis: Ich denke, es ist in Ordnung, students zu übergeben, we...
21.08.2015, 07:05
2
Antworten

Volatile funktioniert nicht wie erwartet

Betrachten Sie diesen Code: %Vor% Mit g++ -std=c++14 -pedantic -O3 bekomme ich diese Assembly: %Vor% Nach meiner Schätzung sollte die Variable x mindestens dreimal (möglicherweise vier) geschrieben werden, aber nicht einmal einmal...
07.05.2016, 01:38
1
Antwort

Wäre es legal, Überladungen von std :: sort mit radix sort zu implementieren?

Für geeignete Datentypen kann eine gute Radix-Sortierung die Vergleichssorten um Längen unterbieten, aber std::sort wird normalerweise als Introsort implementiert. Gibt es einen Grund, nicht radix sort zu verwenden, um std::sort zu impleme...
06.10.2015, 09:47
1
Antwort

Zugriff auf Array-Objekte generisch über Zeiger auf Array von Zeichen?

Wenn ich einen generischen Algorithmus schreibe, darf ich ein Array unbekannten Typs als Zeiger auf ein Array verwenden, bei dem jedes Element die angegebene Größe hat, ohne undefiniertes Verhalten aufzurufen? Gibt es zum Beispiel im folgende...
24.06.2017, 17:32
1
Antwort

Out-of-Line-Elementvorlagenfunktionsdefinition unter Verwendung einer anderen Elementvorlagenfunktion in der Signatur

Ich habe dieses Problem in einem echten C ++ 11 Code kennengelernt, aber ich habe es auf den Punkt gebracht: %Vor% Ich habe versucht, eine Out-of-Line-Definition einer Template-Member-Funktion einer Template-Klasse zu erstellen, wobei die Si...
14.03.2017, 10:52
2
Antworten

Unterschied zwischen dem Parsen von 'void ()' und 'int ()'

Nachdem ich über das ärgerlichste Parse gelesen hatte, experimentierte ich ein wenig und fand dieses Programm. Es gibt zwei sehr ähnliche Linien. Einer von ihnen liefert Warnungen sowohl in g ++ 7 als auch in clang ++ - 3.9, ein anderer nicht....
21.02.2018, 18:28
0
Antworten

Warum ist die linke Verschiebung eines negativen vorzeichenbehafteten Werts kein wohldefiniertes Verhalten? [Duplikat]

Diese Frage wurde in einem Interview gestellt. Aus diesem Grund hat die linke Verschiebung << eines negativen Wertes undefiniertes Verhalten , während die rechte Verschiebung >> einer negativen vorzeichenbehafteten Zahl...
23.06.2017, 06:24
0
Antworten

Wird ein Funktionszeiger odr verwendet, wenn er aufgerufen wird

Diese Frage wird durch einen Kommentar ausgelöst hier Betrachten Sie den folgenden Code %Vor% Dies ist überall in C ++ 17 erlaubt, G::m ist in G über inline-Variablen definiert und all das. Was komisch ist, ist in C ++ 14 und C...
02.07.2017, 15:33
2
Antworten

Welchen Zweck haben die Umwandlungen, um int in glibc memmove zu signieren?

Quellcode Da machen sie %Vor% Ich verstehe, warum sie überhaupt die Mühe machen, Longs zu Castings zu machen: Sie sollen Undefiniertes Verhalten vermeiden, indem sie Zeiger auf (wahrscheinlich) andere Objekte vergleichen. Und sie müssen...
08.03.2016, 19:46
1
Antwort

Sind flüchtige Datenelemente trivial kopierbar?

Während ich diese Antwort schrieb , wurde mir klar, dass ich nicht so überzeugt von meinen Schlussfolgerungen bin, wie ich normalerweise vor dem Schlagen sicherstellen würde Hinterlegen Sie Ihre Antwort . Ich finde ein paar ziemlich überzeu...
15.11.2012, 22:57