C ++ 20 est la cible de la version de C ++ après C ++ 17. Cette balise doit être utilisée (avec la balise C ++) pour les questions sur les fonctionnalités C ++ en bonne voie pour C ++ 20.
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 …
Récemment, j'ai reçu des suggestions d'utilisation de span<T>'s dans mon code, ou j'ai vu quelques réponses ici sur le site qui utilisent span' s - soi-disant une sorte de conteneur. Mais - je ne trouve rien de tel dans la bibliothèque standard C ++ 17. Alors, quel est ce mystérieux …
Pendant que j'essayais d'en savoir plus sur les opérateurs C ++ , je suis tombé sur un étrange opérateur de comparaison sur cppreference.com , * dans un tableau qui ressemblait à ceci: "Eh bien, si ce sont des opérateurs communs en C ++, je ferais mieux de les apprendre", pensai-je. …
L'un des angles des concepts C ++ 20 est qu'il existe certaines situations dans lesquelles vous devez écrire requires requires. Par exemple, cet exemple de [expr.prim.req] / 3 : Une expression require peut également être utilisée dans une clause requires ([temp]) comme moyen d'écrire des contraintes ad hoc sur des …
Une question un peu étrange, cependant, si je me souviens bien, le code source C ++ ne nécessite pas de système de fichiers pour stocker ses fichiers. Avoir un compilateur qui scanne les papiers manuscrits via une caméra serait une implémentation conforme. Bien que cela n'ait pratiquement pas beaucoup de …
Que sont les coroutines dans c ++ 20? En quoi il est différent de "Parallelism2" ou / et "Concurrency2" (regardez l'image ci-dessous)? L'image ci-dessous provient de l'ISOCPP. https://isocpp.org/files/img/wg21-timeline-2017-03.png
C ++ 20 a introduit lestd::ssize() fonction gratuite comme ci-dessous: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; Une implémentation possible semble utiliser static_cast, pour convertir la valeur de retour de la size()fonction membre de cl ass C en son équivalent signé. Depuis le size() fonction membre …
c ++ 14 introduit des lambdas génériques qui ont permis d'écrire ce qui suit: auto func = [](auto a, auto b){ return a + b; }; auto Foo = func(2, 5); auto Bar = func("hello", "world"); Il est très clair que ce lambda générique funcfonctionne exactement comme une fonction basée …
Je rencontre un comportement étrange avec le nouvel opérateur de vaisseau spatial <=>en C ++ 20. J'utilise le compilateur Visual Studio 2019 avec /std:c++latest. Ce code se compile très bien, comme prévu: #include <compare> struct X { int Dummy = 0; auto operator<=>(const X&) const = default; // Default implementation …
Selon cppreference , std::type_info::operator!=est supprimé avec C ++ 20, cependant, std::type_info::operator==reste apparemment. Quel est le raisonnement derrière? Je pourrais être d'accord pour comparer l'inégalité comme étant dénuée de sens, mais alors comparer pour l'égalité serait tout aussi insignifiant, non? De même, operator!=de nombreux autres types de bibliothèques standard, y compris …
C ++ 20 a introduit explicit (bool) qui sélectionne conditionnellement au moment de la compilation si un constructeur est rendu explicite ou non. Voici un exemple que j'ai trouvé ici . struct foo { // Specify non-integral types (strings, floats, etc.) require explicit construction. template <typename T> explicit(!std::is_integral_v<T>) foo(T) {} …
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.