par exemple: Beta_ab&& Beta::toAB() const { return move(Beta_ab(1, 1));
par exemple: Beta_ab&& Beta::toAB() const { return move(Beta_ab(1, 1));
J'ai une classe avec un membre unique_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... }; La barre est une classe tierce qui a une fonction create () et une fonction destroy (). Si je voulais utiliser un std::unique_ptravec lui dans une fonction autonome, je pourrais faire: void foo()...
Quelles sont les différences entre -std=c++11et -std=gnu++11comme paramètre de compilation pour gcc et clang? Même question avec c99et gnu99? Je connais les standards C ++ et C, ce sont les différences de paramètres qui m'intéressent. J'ai lu quelque part que cela avait à voir avec certaines...
Questions pertinentes : À propos de C ++ 11: C ++ 11: std :: thread groupé? Async (launch :: async) en C ++ 11 rendra-t-il les pools de threads obsolètes pour éviter la création de threads coûteux? À propos de Boost: Thread C ++ boost réutilisant les threads boost :: thread et en créer un pool!...
Je suis confus avec la description de thread_localC ++ 11. Ma compréhension est que chaque thread a une copie unique des variables locales dans une fonction. Les variables globales / statiques sont accessibles par tous les threads (éventuellement accès synchronisé à l'aide de verrous). Et les...
At std::make_unique- il des avantages d'efficacité comme std::make_shared? Par rapport à la construction manuelle std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new
J'ai trouvé du code en utilisant std :: shared_ptr pour effectuer un nettoyage arbitraire à l'arrêt. Au début, je pensais que ce code ne pouvait pas fonctionner, mais j'ai ensuite essayé ce qui suit: #include <memory> #include <iostream> #include <vector> class test { public:...
Je sais ce que sont les foncteurs et quand les utiliser avec des stdalgorithmes, mais je n'ai pas compris ce que Stroustrup en dit dans la FAQ C ++ 11 . Quelqu'un peut-il expliquer ce std::bindque std::functionsont et sont, quand ils devraient être utilisés, et donner quelques exemples pour les...
La fonction C ++ 11 std::move(x)ne déplace vraiment rien du tout. C'est juste un casting à la valeur r. Pourquoi cela a-t-il été fait? N'est-ce pas
Je suis tombé sur le code suivant: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Il y a une chose que je ne comprends pas: Où pourrais-je trouver ce que signifie l'opérateur flèche ( ->) dans l'en-tête de fonction? Je suppose que de...
J'ai été surpris que cela n'apparaisse pas dans mes résultats de recherche, je pensais que quelqu'un l'aurait déjà demandé, étant donné l'utilité de la sémantique de déplacement en C ++ 11: Quand dois-je (ou est-ce une bonne idée pour moi de) rendre une classe non déplaçable en C ++ 11? (Raisons...
Dans l'opérateur d'affectation d'une classe, vous devez généralement vérifier si l'objet affecté est l'objet appelant pour ne pas gâcher les choses: Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } return *this; } Avez-vous besoin de la même chose...
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0 et plus récent imprimer "Vous utilisez clang ++!" et avertir que la capture foo n'est pas utilisée. g ++ 4.9.0 et plus récent imprimer "Vous...
J'ai toujours pensé que les nombres aléatoires se situeraient entre zéro et un, sans1 , c'est-à-dire que ce sont des nombres de l'intervalle semi-ouvert [0,1). La documentation sur cppreference.com de le std::generate_canonicalconfirme. Cependant, lorsque j'exécute le programme suivant: #include...
Lorsque j'utilise [=]pour indiquer que je voudrais que toutes les variables locales soient capturées par valeur dans un lambda, cela entraînera-t-il la copie de toutes les variables locales de la fonction ou simplement de toutes les variables locales utilisées par le lambda ? Donc, par exemple, si...
J'ai travaillé sur du code C ++ qu'un ami a écrit et j'obtiens l'erreur suivante que je n'ai jamais vue auparavant lors de la compilation avec gcc4.6: error: use of deleted function ‘GameFSM_<std::array<C, 2ul> >::hdealt::hdealt()’ is implicitly deleted because the default definition...
Je suis récemment tombé sur une étrange désoptimisation (ou plutôt une opportunité d'optimisation manquée). Considérez cette fonction pour un décompactage efficace des tableaux d'entiers de 3 bits en entiers de 8 bits. Il décompresse 16 ints à chaque itération de boucle: void unpack3bit(uint8_t*...
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettre à jour la question afin qu'il puisse répondre avec des faits et des citations en éditant ce poste . Fermé il y a 2 ans . Améliorez cette question Considérer:...
Je l'ai utilisé std::tiesans trop y réfléchir. Cela fonctionne donc je viens d'accepter cela: 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 cette magie noire ? Comment un temporaire créé par le...
Je sais que dans C ++ 11, ils ont ajouté la fonctionnalité pour initialiser une variable à zéro en tant que telle double number = {}; // number = 0 int data{}; // data = 0 Existe-t-il une manière similaire d'initialiser a std::vectord'une longueur fixe à tous les