language-lawyer

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

Ein Fehler in C ++ - Überladungsauflösungsregeln?

Betrachten Sie den folgenden Code: %Vor% Die Kompilierung schlägt mit einem "mehrdeutigen Überlastungsfehler" gemäß Standard fehl. Aber warum? Sicherlich sollte der "gleich gute" Operator im Heimat-Namespace von A Vorrang haben. Gibt es e...
25.02.2016, 17:23
2
Antworten

Strenge Alias- und Overlay-Vererbung

Betrachten Sie dieses Codebeispiel: %Vor% Ich dachte immer, dass etwas wie das Übergeben von B * an A * und das Verwenden von A * zum Manipulieren des B * -Objekts eine strenge Aliasing-Verletzung ist. Aber dann erkannte ich, dass der Standa...
20.02.2017, 19:20
1
Antwort

Warum kann ich nicht auf ein Standardargument in seiner Initialisierung in gcc zugreifen?

Dies wird in clang kompiliert, aber nicht in gcc : %Vor% Der Fehler in gcc besagt, dass x in diesem Bereich nicht deklariert wurde, aber laut 3.3.2 / 1 sollte die Variable x im Bereich sein:    Der Deklarationspunkt für einen N...
30.10.2014, 16:49
6
Antworten

Doppel-Array in eine Double-Struktur umwandeln

Ist es OK, ein Double-Array in eine Double-Struktur umzuwandeln? %Vor% Dies druckt 1 2 3 . Aber ist es garantiert immer mit jedem Compiler zu arbeiten? EDIT: Nach    9.2.21: Ein Zeiger auf ein Standard-Layout-Strukturobjekt, passend...
26.06.2015, 21:26
2
Antworten

Ich kann DR 712 einfach nicht verstehen

DR 712 war verantwortlich für die Änderung des Wortlauts von [basic.def.odr] / 2 in C ++ 11 zum heutigen Wortlaut in [basic .defodr] 2 und 3 . Aber ich versuche immer noch, den Grund für die Änderung zu verstehen, wie in der DR gesagt:   ...
28.02.2017, 18:27
2
Antworten

Warum definiert reverse_iterator seine verschachtelten Typen doppelt?

Es scheint, dass der Iterator-Adapter reverse_iterator die meisten seiner verschachtelten Typen doppelt definiert. Insbesondere erbt es öffentlich von std::iterator , wodurch iterator_category , value_type , difference_type , pointer...
17.03.2015, 20:21
2
Antworten

When ist der Kopierkonstruktor für den Rückgabewert passiert

Ich habe die folgende Elementfunktion: %Vor% RAIIMutex ist eine Hilfsklasse, die einen Mutex erhält und im Konstruktor sperrt und im Destruktor freigibt. m_person ist vom Typ Person (etwas sehr klein). Andere Funktionen in andere...
06.06.2016, 13:42
1
Antwort

class (oder struct) Selbstreferenz nach Vorlage

Ist das folgende legal? %Vor% Ein Kommentar zu diesem Beitrag scheint darauf hinzuweisen, dass dies nicht der Fall ist. BEARBEITEN: Das erscheint mir nicht als ein "undefiniertes Verhalten" -Szenario. Die beabsichtigte Semantik ist ein...
09.09.2015, 19:20
1
Antwort

Interaktion zwischen Dekltyp und Klassenmitgliedsnamen, der einen externen Namen schattiert

Dieser Code %Vor% kompiliert still beim clang, aber kompiliert nicht auf gcc mit den Fehlern    error: Deklaration von 'int Foo :: clash' [-fpermissiv]       error: ändert die Bedeutung von 'clash' von 'int clash' [-fpermissiv] Es sc...
31.10.2014, 19:14
1
Antwort

Wo heißt es im Standard (C ++ 14), dass die folgenden zwei Deklarationen äquivalent sind?

%Vor% Die letzten beiden obigen Deklarationen sind äquivalent. Beide deklarieren Objekte vom Typ A. Wo im Standard kann ich das finden oder ableiten?     
17.04.2015, 17:28