Als «c++» getaggte Fragen

C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entwickelt und hat eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. Verwenden Sie ein versionierungsspezifisches Tag für Fragen zu einer bestimmten Standardversion [C ++ 11], [C ++ 14], [C ++ 17] oder [C ++ 20] usw.

2
Warum implementiert Expected <T> in LLVM zwei Konstruktoren für Expected <T> &&?
Expected&lt;T&gt;ist in llvm / Support / Error.h implementiert. Es ist eine getaggte Vereinigung, die entweder ein Toder ein hält Error. Expected&lt;T&gt;ist eine Vorlagenklasse mit dem Typ T: template &lt;class T&gt; class LLVM_NODISCARD Expected Aber diese beiden Konstruktoren verwirren mich wirklich: /// Move construct an Expected&lt;T&gt; value from an Expected&lt;OtherT&gt;, where …
8 c++  llvm 

3
Speichert struct tm Zeitzoneninformationen als Datenelement
Betrachten Sie den folgenden C ++ - Code #include &lt;ctime&gt; #include &lt;iostream&gt; int main() { std::time_t now = std::time(nullptr); struct tm local = *std::localtime(&amp;now); struct tm gm = *std::gmtime(&amp;now); char str[20]; std::strftime(str, 20, "%Z", &amp;local); std::cout &lt;&lt; str &lt;&lt; std::endl; // HKT std::strftime(str, 20, "%Z", &amp;gm); std::cout &lt;&lt; str &lt;&lt; …
8 c++  c  ctime  time.h 


2
Wie wird std :: atomic_ref für nichtatomare Typen implementiert?
Ich frage mich, wie std::atomic_refeffizient (eine std::mutexpro Objekt) für nichtatomare Objekte implementiert werden kann , da die folgende Eigenschaft ziemlich schwer durchzusetzen scheint: Atomoperationen, die über eine atomare Referenz auf ein Objekt angewendet werden, sind atomar in Bezug auf atomare Operationen, die über eine andere atomare Referenz angewendet werden, die …


2
Standardkonformität eines C-Makros
Ich habe dieses kleine Juwel hier (Idee schamlos aus den C-FAQ gestohlen): /* A lot of checks omitted to get rid of the architectures with a "weird" endianness */ /*...*/ #define MP_ENDIANESS ( (0x41424344ul == *(uint32_t*)"ABCD") ? MP_BIG_ENDIAN : MP_LITTLE_ENDIAN ) Entspricht es dem neuen aktuellen Standard (C-18 zum Zeitpunkt …
8 c++  c 
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.