language-lawyer

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

Zweideutiger Aufruf führt offensichtlich nicht zu einem Kompilierungsfehler in GCC

Ich war überrascht von der Tatsache, dass GCC nicht den Aufruf von foo() im folgenden Programm nicht eindeutig betrachtet: %Vor% Der obige Funktionsaufruf kompiliert und gibt true auf GCC 4.7.2 und GCC 4.8.0 (beta) zurück, während es...
26.02.2013, 01:46
1
Antwort

Werden Array-Elemente als gemeinsame Anfangssequenz gezählt?

Sortiert nach meine vorherige Frage : Zählen Elemente von Arrays als eine gemeinsame Anfangssequenz? %Vor% Laut dieser cppreference-Seite :    In einer Standard-Layout-Union mit einem aktiven Mitglied der Nicht-Union-Klasse T1 ist es...
17.03.2016, 03:20
1
Antwort

Wurden Checked-Guard-Parameterpakete im Falle von Spezialisierungen zu schlecht geformten Programmen führen?

Dies ist ein Follow-up zu this Frage. Betrachten Sie den folgenden Code: %Vor% Es kompiliert, aber laut [temp.res] / 8 ist es schlecht geformt , keine Diagnose erforderlich wegen:    Jede gültige Spezialisierung einer variadischen...
28.11.2016, 10:30
1
Antwort

Eingeschränkte Konvertierung von 'int' (konstanter Ausdruck) zu 'unsigned int' - MSVC vs gcc vs clang

%Vor% Das obige Snippet: Kompiliert ohne Warnungen in g++ 7 mit -Wall -Wextra -Wpedantic . Kompiliert ohne Warnungen in clang++ 4 mit -Wall -Wextra -Wpedantic . Kompiliert nicht auf MSVC 2017 :    Konvertierung v...
28.03.2017, 17:28
2
Antworten

gcc vs. clang, msvc und icc: Ist dieser Funktionsaufruf mehrdeutig?

Alle Compiler, die ich in die Hände kriege, stimmen darin überein, dass das in Ordnung ist: %Vor% Der folgende Code (mit einem führenden Vorlagenparameter, der nicht aus den Funktionsparametern abgeleitet werden kann) ist jedoch gemäß gcc:...
02.09.2016, 06:57
1
Antwort

Ist es illegal, die Modifikatoren h oder hh length zu verwenden, wenn das entsprechende Argument für printf kein short / char ist?

Die Funktionsfamilie printf stellt eine Reihe von Längenmodifikatoren bereit, von denen zwei hh (ein signed char oder unsigned char ein Argument, das auf int hochgestuft ist) und h (bezeichnet ein% co_de) darstellen % oder sig...
11.09.2015, 17:41
1
Antwort

Vorlage Argumentableitung: welcher Compiler ist hier richtig?

Betrachten Sie den folgenden Code: %Vor% Hier stellt Vector eine Klasse dar, die in einer Bibliothek eines Drittanbieters definiert ist, und std::array ist dafür bekannt, seine Elementanzahl als std::size_t zu übernehmen. Ich hab...
01.10.2015, 15:31
2
Antworten

Soll break / continue / return von einer Exception unterbrochen werden?

Ich stieß auf ein interessantes Szenario mit Flusskontrolle, während ich an meiner Sprache arbeitete. Was passiert, wenn während der Verarbeitung einer break -Anweisung eine Ausnahme ausgelöst wird? GCC scheint zu glauben, dass der Break-Flow...
19.04.2013, 04:01
2
Antworten

Ist eine std :: string-Implementierung konform, wobei 's.c_str () + s.size ()' nicht unbedingt dasselbe ist wie '& s [s.größe ()]'?

§21.4.5 [string.access] %Vor%    Gibt zurück: *(begin() + pos) if pos < size() . Andernfalls wird eine Referenz auf ein Objekt vom Typ charT mit dem Wert charT() zurückgegeben, wobei die Änderung des Objekts zu undefiniert...
04.08.2012, 15:37
1
Antwort

Ist die Zuweisung von braced-init-list zu einem Array korrekt? [geschlossen]

Der Standard sagt, unter 5.17 / 9    Eine Klammer-Init-Liste kann auf der rechten Seite von erscheinen       - eine Zuordnung zu einem Skalar [...]       - Eine Zuweisung, die von einem benutzerdefinierten Zuweisungsoperator [..] definiert...
07.06.2010, 15:24