language-lawyer

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

Klassendeklaration in der Funktionsparameterliste

Wie ich es verstehe, geht in C ++ eine Klasse, die in der Funktionsparameterliste deklariert ist, automatisch in den umschließenden Bereich: %Vor% entspricht: %Vor% Welcher Abschnitt in C ++ - Standard gibt dieses Verhalten an? Was ist m...
10.06.2016, 08:58
1
Antwort

Kann ich das Ergebnis eines C ++ 17-Captureless-Lambda-Constexpr-Konvertierungsoperators als Funktionszeiger-Template-Nicht-Typ-Argument verwenden?

Bei der Beantwortung Wie mache ich schreibe einen Lambda-Ausdruck, der wie eine Methode aussieht? Ich habe versucht, ein Captureless-Lambda in einen Memberfunktionszeiger umzuwandeln, indem ich die Tatsache ausnutze, dass seit C ++ 17 Captures...
02.12.2017, 10:19
1
Antwort

C statische Inline-Parameterauswertung Optimierung

Nehmen Sie eine API an, in der jede Funktion einen Fehlercode zurückgibt, der Null ist, wenn kein Fehler vorliegt, und ungleich Null für Fehlerwerte. Lassen Sie %Vor% sind Funktionen in dieser API. Es soll ein Codefragment geben, in dem...
03.07.2016, 23:00
1
Antwort

Warum wird ein Programm als mehrdeutig abgelehnt, das durch Überladungsauflösung aufgelöst werden könnte?

Das folgende Programm wird von gcc als mehrdeutig zurückgewiesen: %Vor% Clang lehnt das Programm aus dem gleichen Grund konsequent ab: %Vor% Ich bin mir nicht ganz sicher, ob ich die Suchregeln in Abschnitt 10.2 richtig verstanden habe,...
22.12.2015, 14:03
1
Antwort

Probleme bezüglich const declltype (x) &

Betrachten Sie den folgenden Code: %Vor% Es kompiliert auf clang 3.5, während GCC 4.9 den folgenden Fehler gibt: error: 'const' qualifiers cannot be applied to 'const int&' Welcher entspricht dem Standard? Meine Vermutung ist, d...
09.04.2015, 14:10
3
Antworten

Ist eine Deklaration einer unmarkierten Struktur ein kompatibler Typ?

Für Zwecke, die in diese Frage ausgedrückt sind, wir wollen das tun: %Vor% Der Wunsch ist, dass die Casts C 2011 entsprechen 6.7.2.1 15 , die besagt: "Ein Zeiger auf ein Strukturobjekt, das entsprechend konvertiert wurde, zeigt auf sein A...
25.01.2018, 14:47
1
Antwort

Kann der automatische Platzhalter verwendet werden, um Funktionsergebnisse in Nicht-Typ-Template-Parametern abzuleiten?

Betrachten Sie ein einfaches Beispiel: %Vor% Sowohl [gcc] als auch [clang ] scheint den Code zu akzeptieren. Ist der Code wirklich C ++ 17 kompatibel? Wenn ja, gibt es eine andere Regel, die den folgenden Code schlecht ausgebildet macht?...
27.01.2018, 22:10
1
Antwort

Warum Standard-Container-Iteratoren '- *' nicht überladen?

Anscheinend funktioniert ->* nicht automatisch, wenn Sie -> überladen, und muss manuell überladen werden. Warum Iteratoren für Standardcontainer ->* nicht zusätzlich zu -> überladen, erzwingen die Verwendung von (*ite...
05.02.2018, 15:34
1
Antwort

Vorwärtsdeklaration einer 'constexpr' Funktion in einer anderen Funktion - Compilerfehler?

Bei der Erstellung eines MCVE für dieses Problem, über das ich gestolpert bin, habe ich die folgende Diskrepanz zwischen Compilern gefunden: Betrachten Sie den folgenden Code: %Vor% Dieser Code wird in Clang 3.8.0 kompiliert, schlägt ab...
30.05.2016, 13:22
1
Antwort

Verblüffendes Verhalten des nicht nachlaufenden Parameterpakets

Ich bin auf ein interessantes variantes Template-Funktionsverhalten gestoßen. Kann jemand auf die relevanten Regeln im Standard hinweisen, die dies definieren? GCC , ICC und MSVC kompilieren den folgenden Code erfolgreich (Clang nicht, a...
08.08.2016, 10:56