J'ai lu et entendu que C ++ 11 prend en charge Unicode. Quelques questions à ce sujet: Dans quelle mesure la bibliothèque standard C ++ prend-elle en charge Unicode? Fait std::stringce qu'il doit faire? Comment l'utiliser? Où sont les problèmes potentiels?
Cette réponse de @R. Martinho Fernandes montre que l'idiome safe-bool est apparemment obsolète en C ++ 11, car il peut être remplacé par un simple explicit operator bool() const; selon le devis standard dans la réponse §4 [conv] p3: Une expression e peut être implicitement convertie en un type Tsi …
Comment supprimer une carte lors de son itération? comme: std::map<K, V> map; for(auto i : map) if(needs_removing(i)) // remove it from the map Si je l'utilise, map.erasecela invalidera les itérateurs
Utilisation de C ++ 11, Ubuntu 14.04, la chaîne d'outils par défaut de GCC . Ce code échoue: constexpr std::string constString = "constString"; erreur: le type 'const string {aka const std :: basic_string}' de la variable constexpr 'constString' n'est pas littéral ... parce que ... 'std :: basic_string' a un …
Je comprends que std::atomic<>c'est un objet atomique. Mais dans quelle mesure atomique? À ma connaissance, une opération peut être atomique. Qu'entend-on exactement par rendre un objet atomique? Par exemple, s'il y a deux threads exécutant simultanément le code suivant: a = a + 12; Alors toute l'opération est-elle (disons add_twelve_to(int)) …
Juste une petite question concernant shared_ptr. Est-ce une bonne pratique d'utiliser le shared_ptrpointage vers un tableau? Par exemple, shared_ptr<int> sp(new int[10]); Sinon, pourquoi pas? L'une des raisons dont je suis déjà conscient est que l'on ne peut pas augmenter / décrémenter le shared_ptr. Par conséquent, il ne peut pas être …
Dans son livre, The C++ Standard Library (Second Edition)Nicolai Josuttis déclare que les lambdas peuvent être mieux optimisées par le compilateur que les fonctions simples. De plus, les compilateurs C ++ optimisent les lambdas mieux que les fonctions ordinaires. (Page 213) Pourquoi donc? Je pensais qu'en matière d'inlining, il ne …
Il y a un problème plutôt idiot avec le nombre pi en C et C ++. Autant que je sache, M_PIdéfini dans math.hn'est requis par aucune norme. Les nouvelles normes C ++ ont introduit beaucoup de mathématiques compliquées dans la bibliothèque standard - des fonctions hyperboliques std::hermiteet std::cyl_bessel_idifférents générateurs de …
Pour une classe, je souhaite stocker des pointeurs de fonction vers des fonctions membres de la même classe dans un objet de mapstockage std::function. Mais j'échoue dès le début avec ce code: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f = &Foo::doSomething; } }; …
Dans la belle réponse à l' idiome copier-et-échanger, il y a un morceau de code dont j'ai besoin d'un peu d'aide: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); } // ... }; et il ajoute une …
J'ai initialement posté cela comme une question uniquement sur les destructeurs, mais maintenant j'ajoute la considération du constructeur par défaut. Voici la question originale: Si je veux donner à ma classe un destructeur qui est virtuel, mais qui est sinon le même que ce que le compilateur générerait, je peux …
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.