language-lawyer

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

Kann eine Standardbibliotheksimplementierung Standardtypen spezialisieren?

Nehmen wir zum Beispiel für das Argument an, dass eine effizientere Implementierung (Speichern, Operationen darauf) für einen Vektor ganzzahliger Typen gefunden wird (im Vergleich zur generischen Vektorimplementierung). Kann eine standardkonforme...
03.07.2015, 15:40
0
Antworten

Clang vs G ++ stimmt nicht mit der Anzahl der Argumente der Klassenvorlage und der Template-Template-Parameter-Deklaration überein

Im folgenden Beispiel ist Abstract eine Klassenvorlage, deren erster Parameter ein Typ ist, und der zweite Parameter ist eine andere Vorlage, die ein Bool mit einer beliebigen Anzahl von Argumenten verwendet. %Vor% Die Ausgaben von Clang...
20.02.2018, 18:22
0
Antworten

Mithilfe von std :: launder einen Zeiger auf ein aktives Objektelement von einem Zeiger auf ein inaktives Objekt abrufen?

Diese Frage folgt diesem one Betrachten wir diesen Beispielcode: %Vor% Wenn short_str nicht das aktive Mitglied ist, das den Zeiger dereferenziert ohne std::launder wäre UB. Nehmen wir an, dass die ABI gut spezifiziert ist und w...
10.01.2018, 13:55
5
Antworten

Definition des Operators "==" für Double

Aus irgendeinem Grund schlich ich mich in die .NET Framework-Quelle für die Klasse Double und fand heraus, dass die Deklaration von == lautet: %Vor% Dieselbe Logik gilt für jeder -Operator. Was ist der Sinn einer solchen Defin...
01.02.2016, 15:04
2
Antworten

Ist libstdc ++ falsch, um die Zuweisung von flüchtigem rvalue zu std :: ignore abzulehnen?

Ich habe bemerkt, dass die Implementierung von std::ignore in libstdc ++ ein Argument const T& benötigt, das nicht an einen flüchtigen rvalue binden kann. Daher kann der folgende Code nicht kompiliert werden: %Vor% ( Ссылка ) Is...
20.06.2016, 22:14
2
Antworten

Passende Aliasvorlage als Vorlageargument

Betrachten Sie den folgenden Code : %Vor% Warum schlägt (2), d. h. static_assert , das die Aliasvorlage verwendet, fehl? Wie unterscheidet sich der Template-Argument-Deduktionsprozess in (2) von dem in (1)?     
25.04.2017, 19:13
3
Antworten

Wo sollte die Definition einer expliziten Spezialisierung einer Klassenvorlage in C ++ platziert werden?

Laut [temp.spec] / 5 :    Für eine gegebene Vorlage und einen gegebenen Satz von Template-Argumenten,       ...    Eine explizite Spezialisierung soll höchstens einmal in einem Programm definiert werden (nach [basic .def.odr] ) und...
29.11.2017, 02:56
1
Antwort

Problem mit der Namenssuche, GCC und Klang stimmen nicht zu [duplizieren]

Wie von ecatmur hervorgehoben, hat diese Frage bereits eine Antwort hier . Diese Frage ist offensichtlich kein Duplikat von hinterer Rückgabetyp mit decltype mit variadischer Vorlagenfunktion . Es versucht tatsächlich, eine einfachere L...
08.05.2015, 09:19
4
Antworten

Warum wählt die generische Art der Java 8-Inferenz diese Überladung aus?

Betrachten Sie das folgende Programm: %Vor% Es druckt "String" unter Java 8 und "Object" unter Java 7. Ich hätte erwartet, dass dies in Java 8 eine Mehrdeutigkeit ist, weil beide überladenen Methoden übereinstimmen. Warum wählt der Compil...
29.05.2015, 05:45
0
Antworten

Wertkategorie von const int Variable, die von Lambda erfasst wird

Ich habe versucht zu verstehen, wann und wann kein Lambda mit einer Capture-Standard-Odr verwendet eine Variable mit automatischer Speicherdauer im umgebenden Bereich definiert (aufgefordert von diese Antwort ). Beim Erkunden stieß ich auf eine...
29.04.2017, 17:38