Questions marquées «initializer-list»



8
initializer_list et déplacer la sémantique
Suis-je autorisé à déplacer des éléments hors d'un 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? } } Puisque std::intializer_list<T>nécessite une attention particulière du compilateur et n'a pas de sémantique de valeur comme les …


5
Puis-je lister un vecteur de type déplacement uniquement?
Si je passe le code suivant via mon instantané GCC 4.7, il essaie de copier le unique_ptrs dans le vecteur. #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } Évidemment, cela ne peut pas fonctionner car il std::unique_ptrn'est pas copiable: …

3
Quand utiliser l'initialiseur entre accolades?
En C ++ 11, nous avons cette nouvelle syntaxe pour l'initialisation des classes qui nous donne un grand nombre de possibilités pour initialiser des variables. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; …



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.