language-lawyer

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

Muss die C ++ - Standardbibliothek Klassen unterstützen, die wählerisch sind, wer ihre Freunde sind?

Diese Frage lässt sich am einfachsten anhand eines Beispiels veranschaulichen, also hier: Ist der folgende Code garantiert gültig und compile & amp; richtig laufen? (Nicht alle Implementierungen kompilieren es tatsächlich korrekt, aber ich...
07.05.2015, 20:45
3
Antworten

Warum charakterisiert der folgende Ausdruck eine einschränkende Umwandlung?

Dieser Ausdruck findet sich im Beispiel in §8.5.4 / 7 im Standard (N3797) %Vor% Gegeben §8.5.4 / 7 und seinen vierten Aufzählungspunkt:    Eine einschränkende Konvertierung ist eine implizite Konvertierung:       von einem Integer-Typ o...
20.01.2014, 19:04
1
Antwort

Warum nicht Schlüssel des assoziativen Containers ändern?

Ich weiß, dass es eine schreckliche Idee ist, den Schlüssel eines Objekts in einem assoziativen Container zu ändern, aber ich frage mich, wo genau der Standard dies verbietet. Überlegen Sie: %Vor% Ich gehe davon aus, dass das obige illegal...
29.03.2013, 10:05
2
Antworten

Vererbte Konstruktoren, Standardkonstruktor und Sichtbarkeit

Wie von [namespace.udecl] / 18 angegeben:    [...] Eine using-Deklaration, die einen Konstruktor benennt, erzeugt kein Synonym; Stattdessen sind die zusätzlichen Konstruktoren zugänglich, wenn sie zugänglich wären, wenn sie zum Erstellen ei...
17.10.2016, 08:42
2
Antworten

c ++: Wie weit entfernt (in Bytes) sind Klassenmitglieder in einem Array?

Ich habe keinen besseren Weg gefunden, meine Frage so zu formulieren: Ist die Ausgabe unten immer wahr? ist das tragbar? %Vor% Was ist, wenn anstelle von vector , points ein rohe Array definiert wurde? Ist die Ausgabe immer noch wahr?...
19.08.2015, 08:44
1
Antwort

Soll "Vorlagenargumentabzug für Klassenvorlagen" leere Parameterpakete für variadische Klassenvorlagen ableiten?

Der "Vorlagenargumentabzug für Klassenvorlagen" Vorschlag (P0091R2 ) enthält das folgende Beispiel: %Vor% (Abgesehen von der Tatsache, dass in der Konstruktordefinition ein Body fehlt) scheint das Beispiel darauf hinzudeuten, dass eine...
11.11.2016, 21:55
1
Antwort

Umwandlung von nullptr_t in bool: gültig oder nicht?

Ich habe den folgenden Code mit 3 Compilern getestet und habe 3 verschiedene Ergebnisse erhalten: Fehler, Warnung und ok. GCC (5.3): Fehler: ungültige benutzerdefinierte Konvertierung von 'std :: nullptr_t' zu 'const Thing & amp;' Clang (3...
05.05.2017, 11:05
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

Wird dies als gültig für c ++ 11 oder c ++ 14 betrachtet? Oder gcc / clang, dass es falsch ist?

Beim Versuch, Ist es möglich zu sagen, ob eine Klasse eine Basisfunktion in C ++ versteckt hat? , habe ich folgendes generiert: %Vor% Was gibt was ich will: %Vor% klingeln und gcc kompilieren und ausführen dies "richtig", aber vc +...
03.05.2017, 00:15
1
Antwort

Sind alle nicht verwendeten undefinierten Methoden erlaubt?

Hier ist eine Klasse mit einer undefinierten Methode. Scheinbar erlauben Compiler, Instanzen dieser Klasse zu konstruieren, solange die undefinierte Member-Funktion niemals aufgerufen wird: %Vor% Hier ist eine ähnliche Situation, aber eine,...
07.11.2014, 22:45