C ++ 11 est le nom du standard C ++, approuvé en 2011. Il remplace le précédent standard C ++ 03, en ajoutant divers changements et correctifs de langage de base, ainsi qu'une bibliothèque standard améliorée et étendue.
Étant donné une fonction très triviale, int transform(int val) { return (val + 7) / 8; } Il devrait être très évident qu'il est facile de transformer cette fonction en constexprfonction, ce qui me permet de l'utiliser lors de la définition de constexprvariables, comme ceci: constexpr int transform(int val) { …
Je me demandais récemment pourquoi le mot clé a autoété choisi en C ++ 11 pour marquer une variable dont le type doit être déduit par le compilateur, comme dans auto x = 1; Puisque var semble plus courant dans d'autres langages de programmation (par exemple C #, Scala, JavaScript), …
Quels sont les avantages / inconvénients de l'utilisation du automot - clé, en particulier dans les boucles for? for(std::vector<T>::iterator it = x.begin(); it != x.end(); it++ ) { it->something(); } for(std::map<T>::iterator it = x.begin(); it != x.end(); it++ ) { it->second->something(); } for(auto it = x.begin(); it != x.end(); it++ …
"L'optimisation prématurée est la racine de tout Mal" Je pense que nous pouvons tous nous mettre d'accord. Et j'essaie très fort d'éviter de faire ça. Mais récemment, je me suis interrogé sur la pratique de passer des paramètres par référence const plutôt que par valeur . J'ai appris / appris …
Fermé. Cette question est hors sujet . Il n'accepte pas actuellement de réponses. Vous souhaitez améliorer cette question? Mettez à jour la question pour qu'elle soit sur le sujet pour Software Engineering Stack Exchange. Fermé il y a 4 ans . J'avais l'habitude d'écrire beaucoup en C ++ il y …
Je travaille presque exclusivement en C ++ 11/14, et je grince généralement des dents quand je vois du code comme ceci: std::int64_t mArray; mArray |= someMask << 1; C'est juste un exemple; Je parle de la manipulation au niveau du bit en général. En C ++, y a-t-il vraiment un …
Le code suivant semble plutôt inoffensif à première vue. Un utilisateur utilise la fonction bar()pour interagir avec certaines fonctionnalités de la bibliothèque. (Cela peut même avoir fonctionné pendant longtemps depuis qu'il a bar()renvoyé une référence à une valeur non temporaire ou similaire.) Maintenant, cependant, il renvoie simplement une nouvelle instance …
Je sais que c'est une pratique débattue, mais supposons que c'est la meilleure option pour moi. Je me demande quelle est la technique réelle pour ce faire. L'approche que je vois est la suivante: 1) Faites une classe d'amis celle de la classe dont je veux tester la méthode. 2) …
En parcourant cet article sur la sécurité d'accès simultané de Rust: http://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html Je me demandais combien de ces idées peuvent être réalisées en C ++ 11 (ou plus récent). En particulier, puis-je créer une classe propriétaire qui transfère la propriété à n'importe quelle méthode à laquelle elle peut être transmise? …
J'ai récemment rencontré la situation suivante. class A{ public: void calculate(T inputs); } Premièrement, Areprésente un objet dans le monde physique, ce qui est un argument fort pour ne pas diviser la classe. Maintenant, cela calculate()s'avère être une fonction assez longue et compliquée. J'en perçois trois structures possibles: l'écrire comme …
Lorsque j'ai appris le C ++ il y a longtemps, il m'a été fortement souligné qu'une partie de l'intérêt du C ++ est que, tout comme les boucles ont des "invariants de boucle", les classes ont également des invariants associés à la durée de vie de l'objet - des choses …
La plupart des langages de programmation fonctionnelle (par exemple , en Common Lisp, Scheme / Racket, Clojure, Haskell, Scala, Ocaml, SML) prennent en charge certaines fonctions communes d'ordre supérieur sur les listes, telles que map, filter, takeWhile, dropWhile, foldl, foldr(voir par exemple Common Lisp, Scheme / Racket, Clojure côte à …
Nous testons une bibliothèque sous C ++ 11 (ie, -std=c++11). La bibliothèque utilise auto_ptret ce modèle: Foo* GetFoo() { autoptr<Foo> ptr(new Foo); // Initialize Foo ptr->Initialize(...); // Now configure remaining attributes ptr->SomeSetting(...); return ptr.release(); } C ++ 11 déconseillé auto_ptr, nous voulons donc nous en éloigner. Cependant, le code prend …
Je travaille sur une grande application logicielle qui doit fonctionner sur plusieurs plateformes. Certaines de ces plates-formes prennent en charge certaines fonctionnalités de C ++ 11 (par exemple MSVS 2010) et certaines n'en prennent pas en charge (par exemple GCC 4.3.x). Je m'attends à ce que cette situation se poursuive …
Les anciens compilateurs C ++ (par exemple VS2008 et gcc3.4) pourraient-ils se lier à des bibliothèques externes écrites en C ++ 11? Ma pensée est que les fichiers C ++ 11 .lib ne sont que du code octet à ce stade, et cela ne devrait pas déranger les anciens compilateurs …
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.