Als «initializer-list» getaggte Fragen



8
initializer_list und Verschiebungssemantik
Darf ich Elemente aus einem verschieben std::initializer_list<T>? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // kosher? } } Schon seit std::intializer_list<T> besondere Aufmerksamkeit des Compilers erfordert und keine Wertesemantik wie bei normalen Containern der C ++ …

6
Warum ist std :: initializer_list keine integrierte Sprache?
Warum ist keine std::initializer_listKernsprache eingebaut? Es scheint mir, dass es ein ziemlich wichtiges Feature von C ++ 11 ist und dennoch kein eigenes reserviertes Schlüsselwort (oder ähnliches) hat. Stattdessen handelt initializer_listes sich nur um eine Vorlagenklasse aus der Standardbibliothek, die über eine spezielle implizite Zuordnung aus der neuen Syntax der …

5
Kann ich einen Vektor vom Typ "Nur Verschieben" auflisten?
Wenn ich den folgenden Code durch meinen GCC 4.7-Snapshot übergebe, wird versucht, das unique_ptrs in den Vektor zu kopieren . #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } Offensichtlich kann das nicht funktionieren, weil std::unique_ptres nicht kopierbar ist: Fehler: …




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.