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? …
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 pour l'opérateur d'affectation de déplacement? …
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 utilisez g ++!" et avertir …
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 <iostream> #include <limits> #include <random> int main() { std::mt19937 rng; std::seed_seq …
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: vector<int> my_huge_vector(100000); …
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* target, char* source, int size) { while(size …
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 would be ill-formed: uninitialized non-static const member ‘const …
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 …
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 …
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 zéros?
J'utilise gcc 4.8.1 de http://hpc.sourceforge.net sur Mac OSX Mountain Lion. J'essaye de compiler un programme C ++ qui utilise la to_stringfonction dans <string>. J'ai besoin d'utiliser le drapeau à -std=c++11chaque fois: g++ -std=c++11 -o testcode1 code1.cpp Existe-t-il un moyen d'inclure cet indicateur par défaut?
Pourriez-vous donner un exemple où static_assert(...)('C ++ 11') résoudrait le problème en question avec élégance? Je connais le run-time assert(...). Quand devrais-je préférer static_assert(...)au régulier assert(...)? En outre, boostil y a quelque chose qui s'appelle BOOST_STATIC_ASSERT, est-ce la même chose que static_assert(...)?
J'avais cru comprendre que la copie sur écriture n'était pas un moyen viable d'implémenter une conformité std::stringen C ++ 11, mais lors de la discussion récente, je me suis retrouvé incapable de soutenir directement cette déclaration. Ai-je raison de dire que C ++ 11 n'admet pas les implémentations basées sur …
Il est vaguement lié à cette question: std :: thread est-il regroupé en C ++ 11? . Bien que la question diffère, l'intention est la même: Question 1: Est-il toujours judicieux d'utiliser vos propres pools de threads (ou ceux d'une bibliothèque tierce) pour éviter la création de threads coûteux? La …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.