C ++ 11 autorise les inline namespaces, dont tous les membres sont également automatiquement inclus dans l'enveloppe namespace. Je ne peux penser à aucune application utile de ceci - quelqu'un peut-il s'il vous plaît donner un exemple bref et succinct d'une situation où un inline namespaceest nécessaire et où c'est …
Existe-t-il un adaptateur de conteneur qui inverserait la direction des itérateurs afin que je puisse itérer sur un conteneur en sens inverse avec une boucle basée sur une plage? Avec des itérateurs explicites, je convertirais ceci: for (auto i = c.begin(); i != c.end(); ++i) { ... en cela: for …
Y a-t-il une différence entre les définitions suivantes? const double PI = 3.141592653589793; constexpr double PI = 3.141592653589793; Sinon, quel style est préféré en C ++ 11?
Est-il possible que le code C ++ soit conforme à la fois à la norme C ++ 03 et à la norme C ++ 11 , mais fait des choses différentes selon la norme sous laquelle il est compilé?
J'essaie de construire un std::threadavec une fonction membre qui ne prend aucun argument et retourne void. Je ne peux pas trouver de syntaxe qui fonctionne - le compilateur se plaint quoi qu'il arrive. Quelle est la bonne façon de l'implémenter spawn()pour qu'elle renvoie un std::threadqui s'exécute test()? #include <thread> class …
std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); De nombreux articles sur Google et stackoverflow sont là-dessus, mais je ne peux pas comprendre pourquoi make_sharedest plus efficace que l'utilisation directe shared_ptr. Quelqu'un peut-il m'expliquer étape par étape la séquence d'objets créés et les opérations effectuées par les deux afin que je …
J'ai récemment rencontré le morceau de code ésotérique suivant. int main(){(([](){})());} Reformatez-le comme suit pour le rendre plus lisible: int main(){ (([](){})()); // Um... what?!?! } Mais je ne peux pas comprendre comment (([](){})())est un code valide. Il ne ressemble pas à la syntaxe du pointeur de fonction. Cela ne …
Quand une fonction prend un shared_ptr(de boost ou C ++ 11 STL), le passez-vous: par référence const: void foo(const shared_ptr<T>& p) ou par valeur void foo(shared_ptr<T> p):? Je préférerais la première méthode car je pense qu'elle serait plus rapide. Mais cela en vaut-il vraiment la peine ou y a-t-il des …
Je ne pose pas cette question en raison des avantages de la collecte des ordures tout d'abord. Ma principale raison de demander ceci est que je sais que Bjarne Stroustrup a dit que C ++ aura un ramasse-miettes à un moment donné. Cela dit, pourquoi n'a-t-il pas été ajouté? Il …
J'ai commencé à étudier les pointeurs intelligents de C ++ 11 et je ne vois aucune utilisation utile de std::weak_ptr. Quelqu'un peut-il me dire quand std::weak_ptrest utile / nécessaire?
Petit exemple: #include <iostream> int main() { int n; [&](){n = 10;}(); // OK [=]() mutable {n = 20;}(); // OK // [=](){n = 10;}(); // Error: a by-value capture cannot be modified in a non-mutable lambda std::cout << n << "\n"; // "10" } La question: pourquoi avons-nous besoin …
J'essaie de stocker dans un std::tuplenombre variable de valeurs, qui seront plus tard utilisées comme arguments pour un appel à un pointeur de fonction qui correspond aux types stockés. J'ai créé un exemple simplifié montrant le problème que j'ai du mal à résoudre: #include <iostream> #include <tuple> void f(int a, …
Comme beaucoup de gens ces jours-ci, j'ai essayé les différentes fonctionnalités qu'apporte C ++ 11. Un de mes favoris est le "basé sur la gamme pour les boucles". Je comprends que: for(Type& v : a) { ... } Est équivalent à: for(auto iv = begin(a); iv != end(a); ++iv) { …
J'ai du code dans un en-tête qui ressemble à ceci: #include <memory> class Thing; class MyClass { std::unique_ptr< Thing > my_thing; }; Si Thingj'inclus cet en-tête dans un cpp qui n'inclut pas la définition de type, cela ne se compile pas sous VS2010-SP1: 1> C: \ Program Files (x86) \ …
Je fais un petit programme de mémorisation de vocabulaire où les mots seraient flashés sur moi au hasard pour les significations. Je veux utiliser la bibliothèque C ++ standard comme Bjarne Stroustroup nous le dit, mais j'ai rencontré un problème apparemment étrange dès la sortie de la porte. Je veux …
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.