___ qstnhdr ___ Einheitliche Initialisierung einer atomaren Struktur?
___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält 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.
___ tag123c11 ___ C ++ 11 ist eine 2011 verabschiedete Version des C ++ - Sprachstandards. Sie hat viele Änderungen und Ergänzungen der Kernsprache sowie der verbesserten und erweiterten C ++ - Standardbibliothek vorgenommen.
___ answer24891452 ___
%code%
%code% hat einen Konstruktor, der einen Wert vom Typ S annimmt.
Die Initialisiererliste {1, 2} wird aufgrund dieses Konstruktors implizit in ein temporäres S umgewandelt.
___ answer24893664 ___
Dies ist Clang Bug 18097 . Hier ist ein langer Thread, der das Problem diskutiert, der zu sein scheint, dass Clam nur skalare Typen unterstützt für %code% in %code% . Der C ++ 11-Standard besagt eindeutig (§29.5 / 1), dass %code% ein beliebig kopierbarer Typ sein kann.
Beide in der Frage gezeigten Verwendungen sollten mit diesem Konstruktor übereinstimmen
%Vor%
Die einzige Möglichkeit, die ich mir vorstellen kann, ist das Erstellen von %code% und das anschließende Initialisieren des Objekts mit %code% .
%Vor%
___ qstntxt ___
%Vor%
Bearbeiten: Sowohl %code% als auch %code% arbeiten in g ++, beide funktionieren nicht beim Klonen. Gibt es einen Workaround für den Clang?
___ tag123uniforminitialization ___ Ein C ++ 11-Feature, mit dem geschweifte Klammern verwendet werden können, um einen beliebigen Typ von Variablen in einem beliebigen Kontext zu initialisieren
___ tag123aggregateinitialisierung ___ Die Aggregateinitialisierung ist eine Funktion von C ++, die die Initialisierung von Arrays und Aggregattypen mithilfe einer geschweiften Klammersyntax ermöglicht.
___ tag123atomic ___ Eine atomare Operation ist unteilbar. Dieser Begriff wird verwendet, um Transaktionen in Datenbanken, Low-Level-Zugriffe in Multithread-Programmen und Dateisystemoperationen zu beschreiben.
___