Als «language-lawyer» getaggte Fragen

Bei Fragen zu den Feinheiten formaler oder maßgeblicher Spezifikationen von Programmiersprachen und -umgebungen.

13
Wie erstelle ich eine Endlosschleife, die nicht optimiert werden kann?
Der C11-Standard scheint zu implizieren, dass Iterationsanweisungen mit konstanten Steuerausdrücken nicht optimiert werden sollten. Ich nehme meinen Rat von dieser Antwort , in der Abschnitt 6.8.5 des Standardentwurfs ausdrücklich zitiert wird: Eine Iterationsanweisung, deren steuernder Ausdruck kein konstanter Ausdruck ist, kann von der Implementierung als beendet angenommen werden. In dieser …


5
Definition des Operators "==" für Double
Aus irgendeinem Grund habe ich mich in die .NET Framework-Quelle für die Klasse geschlichen Doubleund festgestellt, dass die Deklaration von ==: public static bool operator ==(Double left, Double right) { return left == right; } Die gleiche Logik gilt für jeden Bediener. Was ist der Sinn einer solchen Definition? Wie …
126 c#  .net  language-lawyer 



6
Lambda kehrt zurück: Ist das legal?
Betrachten Sie dieses ziemlich nutzlose Programm: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Grundsätzlich versuchen wir, ein Lambda herzustellen, das sich selbst …




2
Programm wird in 3 großen C ++ - Compilern unterschiedlich kompiliert. Welcher ist richtig?
Als interessante Folge (allerdings nicht von großer praktischer Bedeutung) zu meiner vorherigen Frage: Warum erlaubt C ++ uns, den Variablennamen beim Deklarieren einer Variablen in Klammern zu setzen? Ich fand heraus, dass das Kombinieren der Deklaration in Klammern mit der Funktion für injizierte Klassennamen zu überraschenden Ergebnissen hinsichtlich des Compilerverhaltens …






Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.