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.
C ++ 20 permet d'utiliser le autotype de paramètre de fonction. Cela permet-il également d'utiliser autocomme espace réservé d'argument de modèle (pas similaire, mais dans l'esprit du modèle C ++ 17 <auto> d'une certaine manière) pour le type de paramètre de fonction? Donc le code suivant, pré C ++ 20: …
[basic.scope.pdecl] / 1 du projet de norme C ++ 20 contenait l' exemple (non normatif) suivant dans une note (citation partielle d'avant la fusion de la demande de tirage 3580 , voir la réponse à cette question): unsigned char x = x; [...] x est initialisé avec sa propre valeur …
En C ++ 20, le concept de POD est déconseillé, soi-disant parce que c'est un trait composite insignifiant d'être trivial et de mise en page standard. Cependant, la définition du POD dans le projet C ++ 20 n'est pas exactement "à la fois triviale et standard"; c'est en fait: Une …
https://www.timeanddate.com/date/weekday.html calcule divers faits concernant un jour de l'année, par exemple: Étant donné une date arbitraire, comment ces nombres peuvent-ils être calculés avec la spécification chrono C ++ 20 ?
En regardant l'implémentation possible du concept same_as sur https://en.cppreference.com/w/cpp/concepts/same_as, j'ai remarqué qu'il se passe quelque chose d'étrange. namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>; La première question est …
Existe-t-il un moyen de vérifier en C ++ 11 si une énumération est continue ? Il est tout à fait valide de donner des valeurs d'énumération qui ne le sont pas. Existe-t-il peut-être une fonctionnalité comme un trait de type en C ++ 14, C ++ 17 ou peut-être C …
C ++ utilise le streamofftype pour représenter un décalage dans un flux (de fichier) et est défini comme suit dans [stream.types]: using streamoff = implementation-defined ; Le type streamoff est synonyme de l'un des types intégraux de base signés de taille suffisante pour représenter la taille de fichier maximale possible …
Selon cppreference , la plupart des utilisations du volatilemot-clé doivent être dépréciées en C ++ 20. Quel est l'inconvénient de volatile? Et quelle est la solution alternative lorsque vous ne l'utilisez pas volatile?
Je joue autour avec [[no_unique_address]]dans c++20. Dans l'exemple sur cppreference, nous avons un type Emptyet un type videsZ struct Empty {}; // empty class struct Z { char c; [[no_unique_address]] Empty e1, e2; }; Apparemment, la taille de Zdoit être au moins 2parce que les types de e1et e2sont les …
Il existe une propriété très soignée d'expressions constantes en C ++: leur évaluation ne peut pas avoir un comportement indéfini ( 7.7.4.7 ): Une expression e est une expression constante de base à moins que l'évaluation de e, suivant les règles de la machine abstraite ([intro.execution]), n'évalue l'un des éléments …
En C ++ 20, std::swapdevient une constexprfonction. Je sais que la bibliothèque standard était vraiment en retard sur le langage pour marquer les choses constexpr, mais en 2017, elle <algorithm>était à peu près constante, tout comme un tas d'autres choses. Pourtant - std::swapne l'était pas. Je me souviens vaguement qu'il …
De cppreference std::chrono::years (since C++20) duration</*signed integer type of at least 17 bits*/, std::ratio<31556952>> L' utilisation libc++, il semble que le stockage sous - jacent de std::chrono::yearsest -ce shortqui est signé 16 bits . std::chrono::years( 30797 ) // yields 32767/01/01 std::chrono::years( 30797 ) + 365d // yields -32768/01/01 apparently UB …
Dans son récent discours «Type punning en C ++ moderne», Timur Doumler a déclaré que std::bit_castcela ne peut pas être utilisé pour convertir un bit floaten un unsigned char[4]car les tableaux de style C ne peuvent pas être renvoyés d'une fonction. Nous devons utiliser std::memcpyou attendre C ++ 23 (ou …
J'essaie de comprendre les types d'expression de C ++ et plus je lis, plus je suis confus, car je trouve le brouillon C ++ très difficile à digérer et préfère donc d'autres ressources mais elles se contredisent ou ne tiennent pas compte du fait que le la formulation et la …
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.