C ++ 17 est le nom du standard C ++ approuvé en 2017. Il s'appuie sur l'ancien standard C ++ 14, améliorant le langage de base et la bibliothèque standard, et ajoutant quelques nouvelles fonctionnalités de langage.
Verrouillé . Cette question et ses réponses sont verrouillées car la question est hors sujet mais a une signification historique. Il n'accepte pas actuellement de nouvelles réponses ou interactions. C ++ 17 est désormais complet, il est donc peu probable qu'il subisse de grands changements. Des centaines de propositions ont …
Cette FAQ concerne les agrégats et les POD et couvre les éléments suivants: Que sont les agrégats ? Que sont les POD (Plain Old Data)? Comment sont-ils liés? Comment et pourquoi sont-ils spéciaux? Quels changements pour C ++ 11?
Quelles sont les règles d'invalidation de l'itérateur pour les conteneurs C ++? De préférence dans un format de liste récapitulative. (Remarque: Ceci est censé être une entrée de la FAQ C ++ de Stack Overflow . Si vous voulez critiquer l'idée de fournir une FAQ sous cette forme, alors la …
Contrairement à toutes les autres questions similaires, cette question concerne l'utilisation des nouvelles fonctionnalités C ++. 2008 c Existe-t-il un moyen simple de convertir l'énumération C ++ en chaîne? 2008 c Un moyen facile d'utiliser des variables de types enum comme chaîne en C? 2008 c ++ Comment mapper facilement …
P0137 introduit le modèle de fonction std::launderet apporte de nombreuses modifications à la norme dans les sections concernant les unions, la durée de vie et les pointeurs. Quel est le problème que ce document résout? Quels sont les changements de langue dont je dois être conscient? Et qu'avons-nous launder?
std::string_viewl'a fait en C ++ 17 et il est largement recommandé de l'utiliser à la place de const std::string&. L'une des raisons est la performance. Quelqu'un peut-il expliquer comment est / sera exactement std::string_view plus rapide que const std::string&lorsqu'il est utilisé comme type de paramètre? (supposons qu'aucune copie dans l'appelé …
Avant de commencer à crier un comportement indéfini, cela est explicitement répertorié dans N4659 (C ++ 17) i = i++ + 1; // the value of i is incremented Pourtant dans N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Qu'est ce qui a changé? …
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 …
string_viewétait une fonctionnalité proposée dans le C ++ Library Fundamentals TS ( N3921 ) ajouté à C ++ 17 Autant que je sache, c'est un type qui représente une sorte de "concept" de chaîne qui est une vue de tout type de conteneur qui pourrait stocker quelque chose de visualisable …
C ++ 17 a introduit une nouvelle classe de verrouillage appelée std::scoped_lock. À en juger par la documentation, il ressemble à la std::lock_guardclasse déjà existante . Quelle est la différence et quand dois-je l'utiliser?
Depuis C ++ 17, on peut écrire un ifbloc qui sera exécuté exactement une fois comme ceci: #include <iostream> int main() { for (unsigned i = 0; i < 10; ++i) { if (static bool do_once = true; do_once) { // Enter only once std::cout << "hello one-shot" << std::endl; …
Considérez ce programme assez inutile: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Fondamentalement, nous essayons de faire un lambda qui se retourne. …
Lors de la réunion Oulu ISO C ++ Standards 2016, une proposition appelée Variables en ligne a été votée en C ++ 17 par le comité des normes. En termes simples, que sont les variables en ligne, comment fonctionnent-elles et à quoi servent-elles? Comment les variables en ligne doivent-elles être …
Voici la documentation sur cppreference , ici le projet de travail. Je dois admettre que je n'ai pas compris quel était le véritable objectif polymorphic_allocatoret quand / pourquoi / comment je devais l'utiliser. A titre d'exemple, le pmr::vectora la signature suivante: namespace pmr { template <class T> using vector = …
Je souhaite utiliser les fonctionnalités de C ++ 17. Comment puis-je passer de la compilation de C ++ 14 à C ++ 17 dans Microsoft Visual Studio? Ou ce n'est pas disponible dans les versions de version de VS?
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.