Als «language-lawyer» getaggte Fragen

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


2
Warum gibt es in Roslyn asynchrone Zustandsmaschinenklassen (und keine Strukturen)?
Betrachten wir diese sehr einfache asynchrone Methode: static async Task myMethodAsync() { await Task.Delay(500); } Wenn ich dies mit VS2013 (Pre Roslyn Compiler) kompiliere, ist die generierte Zustandsmaschine eine Struktur. private struct <myMethodAsync>d__0 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } Wenn ich es mit VS2015 (Roslyn) kompiliere, …





6
Reine Funktionen: Bedeutet „Keine Nebenwirkungen“ „Immer gleiche Ausgabe bei gleicher Eingabe“?
Die zwei Bedingungen, die eine Funktion purewie folgt definieren, sind wie folgt: Keine Nebenwirkungen (dh nur Änderungen des lokalen Bereichs sind zulässig) Geben Sie immer den gleichen Ausgang zurück, wenn Sie den gleichen Eingang haben Wenn die erste Bedingung immer wahr ist, gibt es Zeiten, in denen die zweite Bedingung …




2
std :: mit strukturierten Bindungen ignorieren?
Auftakt: std::tuple<int, int, int> f(); std::tuple<int, int, float, int> g(); C ++ 1z führt eine Syntax für strukturierte Bindungen ein, die das Schreiben anstelle von ermöglicht int a, b, c; std::tie(a, b, c) = f(); etwas wie auto [a, b, c] = f(); Es std::tiedarf jedoch auch angegeben werden std::ignore, …


4
Wie kann diese Struktur eine Größe von == 0 haben?
Es gibt einen alten Beitrag, der nach einem Konstrukt fragt, für das er zurückkehren sizeofwürde 0. Es gibt einige Highscore-Antworten von Benutzern mit hohem Ansehen, die besagen, dass standardmäßig kein Typ oder keine Variable eine Größe von 0 haben kann. Und ich stimme dem zu 100% zu. Es gibt jedoch …


4
Ist es garantiert sicher, memcpy (0,0,0) auszuführen?
Ich bin nicht so gut mit dem C-Standard vertraut, bitte nehmen Sie Kontakt mit mir auf. Ich würde gerne wissen, ob es standardmäßig garantiert ist, dass memcpy(0,0,0)es sicher ist. Die einzige Einschränkung, die ich finden konnte, ist, dass das Verhalten undefiniert ist, wenn sich die Speicherbereiche überlappen ... Aber können …

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.