language-lawyer

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

Warum 'constexpr' Parameter nicht erlaubt sind?

Es wäre nützlich, "constexpr" -Parameter zu haben, um Compiler-bekannte Werte zu unterscheiden und so Fehler bei der Kompilierung zu erkennen. Beispiele: %Vor% Was ist ein ungültiger Code für jetzt? Kann mir jemand erklären, warum das nicht...
21.12.2014, 17:36
6
Antworten

Warum char ist 1 Byte in C Sprache

Warum ist ein char 1 byte lang in C? Warum ist es nicht 2 bytes oder 4 bytes lang? Was ist die grundlegende Logik dahinter, um es als 1 byte zu behalten? Ich weiß in Java ein char ist 2 Bytes lang. Gleiche Frage dazu.   ...
11.05.2015, 11:08
4
Antworten

Ist 'X x = x = X ();' legales C ++?

Ich habe das reduziert: %Vor% zu folgendem: %Vor% Scheint mir legal. Ich verstehe nicht, warum du es machen willst, aber ist es legal? Gibt es Fälle, in denen Sie dies tun möchten (nicht der Fall int , ich realisiere, dass das völlig n...
26.03.2012, 08:36
1
Antwort

Warum hat shared_ptr einen Verschiebungskonstruktor?

In C ++ hat 11 std::shared_ptr einen Bewegungskonstruktor und einen Bewegungszuweisungsoperator. Gibt es einen Grund, warum dies erforderlich ist, d. h. würden sich Programme, die es verwenden, anders verhalten, wenn nur der Kopierkonstruk...
01.12.2016, 11:12
3
Antworten

Wo in C ++ 14 Standard heißt es, dass eine non-consxpr-Funktion nicht in einer constexpr-Funktion verwendet werden kann?

Zum Beispiel wird der folgende Code nicht kompiliert, es sei denn incr() wird als constexpr deklariert: %Vor% Betrachtet man §7.1.5 / 3 in C ++ 14, haben wir:    Die Definition einer consExpr-Funktion muss Folgendes erfüllen   Einsc...
14.12.2015, 17:17
2
Antworten

Ist ein Programm, das kein Standardargument verwendet, das nicht an einen Referenzparameter gebunden werden kann, legal?

Betrachten Sie Folgendes: %Vor% Es baut und läuft erfolgreich in GCC 4.8, aber ist es streng legal? T v = {} ist ungültig für T=int& , aber dieses Standardargument wird nicht verwendet. Die einzig passende Sprache, die ich im...
17.10.2014, 09:40
2
Antworten

Benötigen Sie Hilfe, um zu verstehen, wie \ n, \ b und \ printf ausgegeben werden

Ich schrieb das folgende Programm in das C und als ich es ausführte, war ich überrascht von der Ausgabe. Hier ist das Programm %Vor% Die Ausgabe ist: - hai während ich "absiha" erwartet habe, da \ n für eine neue Zeile ist, \ b ist für di...
12.02.2012, 21:39
4
Antworten

Fällt dieser Code in C in die Kategorie "Undefiniertes Verhalten"?

a ist ein Array, foo ist eine Funktion und i ist ein int . %Vor% Würde der obige Code ein Undefiniertes Verhalten haben? Die Array-Indizes ++i , i-1 und i befinden sich garantiert im Array-Bereich.     
21.08.2017, 18:03
2
Antworten

Destruktoraufruf in einem durch Kommas getrennten Ausdruck

Betrachten Sie das folgende Beispielprogramm: %Vor% Die Ausgabe, die ich mit GCC 4.9.2 erhalte, ist: %Vor% cpp.sh-Link: Ссылка Allerdings nach cppreference über den Komma-Operator:    In einer Komma-Expression E1, E2 wird der Aus...
01.06.2017, 13:52