preguntar acerca de c++11

2
réponses

Comment fonctionne std::tie?

J'ai utilisé std::tie sans y réfléchir beaucoup. Cela fonctionne donc je viens d'accepter que: auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } Mais comment fonctionne cett …
demandé sur 1970-01-01 00:33:37
12
réponses

itérer sur tuple

Comment puis-je itérer sur un tuple (en utilisant C++11)? J'ai essayé ce qui suit, mais cela ne fonctionne pas: for(int i=0; i<std::tuple_size<T...>::value; ++i) std::get<i>(my_tuple).do_sth(); Erreur 1: désolé, non implémenté …
demandé sur 1970-01-01 00:33:29
7
réponses

Pourquoi ne pas appeler nullptr NULL?

En C++11, le mot clé nullptr a été ajouté en tant que constante de pointeur null plus sûre, puisque la définition commune précédente de NULL as 0 a quelques problèmes. Pourquoi le Comité de normalisation a-t-il choisi de ne pas appeler la nouvelle c …
demandé sur 1970-01-01 00:33:35
3
réponses

Comment déclarer une fonction qui accepte un lambda?

J'ai lu sur internet de nombreux tutoriels qui expliquaient comment utiliser lambdas avec la bibliothèque standard (comme std::find), et ils étaient tous très intéressants, mais je n'en ai trouvé aucun qui expliquait comment utiliser un lambda pour m …
demandé sur 1970-01-01 00:33:30
9
réponses

C++11 basé sur la plage pour les boucles sans variable de boucle

En C++ j'ai besoin de réitérer un certain nombre de fois, mais je n'ai pas besoin d'une variable d'itération. Par exemple: for( int x=0; x<10; ++x ) { /* code goes here, i do not reference "x" in this code */ } Je me rends compte que je pe …
demandé sur 1970-01-01 00:33:33
4
réponses

c++ {*ce} à l’intérieur des accolades

Le code suivant compile bien: g++ -std=c++11 test.cpp -Wall -Wextra -Wfatal-errors && ./a.out Cependant, si je supprime les accolades de {*this} et utilise *this à la place, je vais faire face à une erreur: Erreur: utilisation de la …
demandé sur 1970-01-01 00:33:37
5
réponses

Les utilisations de destructeur = supprimer;

Considérons la classe suivante: struct S { ~S() = delete; }; Bref et dans le but de la question: Je ne peux pas créer des instances de S comme S s{}; car je ne pouvais pas les détruire. Comme mentionné dans les commentaires, je peux toujours créer …
demandé sur 1970-01-01 00:33:36
8
réponses

C++ types de vue: passer par const & ou par valeur?

Cela est apparu dans une discussion de révision de code récemment, mais sans une conclusion satisfaisante. Les types en question sont analogues au C++ string_view TS. Ce sont de simples wrappers non propriétaires autour d'un pointeur et d'une longueu …
demandé sur 1970-01-01 00:33:34
10
réponses

Quel est le point d’une fonction virtuelle finale?

Wikipedia a l'exemple suivant sur le modificateur Final C++11: struct Base2 { virtual void f() final; }; struct Derived2 : Base2 { void f(); // ill-formed because the virtual function Base2::f has been marked final }; Je ne comprends pa …
demandé sur 1970-01-01 00:33:32
4
réponses

Toujours déclarer std:: mutex comme mutable en C++11?

Après avoir regardé le discours D'Herb Sutter vous ne connaissez pas const et mutable , je me demande si je devrais toujours définir un mutex comme mutable? Si oui, je suppose que la même chose vaut pour tout conteneur synchronisé(par exemple, tbb:: …
demandé sur 1970-01-01 00:33:33