Questions marquées «c++17»

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.


4
Conversion implicite non autorisée au retour
#include <optional> bool f() { std::optional<int> opt; return opt; } Ne compile pas: 'return': cannot convert from 'std::optional<int>' to 'bool' Consultation de référence J'aurais pensé trouver une explication, mais je l'ai lu comme il se doit. Des conversions implicites sont effectuées chaque fois qu'une expression d'un certain type T1 est …

3
Fractionner un type std :: variant donné par un critère donné
Comment par un type de variante donné using V = std::variant<bool, char, std::string, int, float, double, std::vector<int>>; déclarer deux types de variantes using V1 = std::variant<bool, char, int, float, double>; using V2 = std::variant<std::string, std::vector<int>>; d'où V1inclut tous les types arithmétiques Vet V2inclut tous les types non arithmétiques V? V …
20 c++  c++17  std-variant 


4
Est-il valide d'utiliser std :: transform avec std :: back_inserter?
Cppreference a cet exemple de code pour std::transform: std::vector<std::size_t> ordinals; std::transform(s.begin(), s.end(), std::back_inserter(ordinals), [](unsigned char c) -> std::size_t { return c; }); Mais cela dit aussi: std::transformne garantit pas l'application dans l'ordre de unary_opou binary_op. Pour appliquer une fonction à une séquence dans l'ordre ou pour appliquer une fonction qui …


4
Énumération continue C ++ 11
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 …
17 c++  c++11  c++14  c++17  c++20 


1
std :: pair <auto, auto> type de retour
Je jouais avec autoen std::pair. Dans le code ci-dessous, la fonction fest censée retourner un std::pairtype qui dépend d'un paramètre de modèle. Un exemple pratique: EXEMPLE 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == …



1
Est-ce un bogue dans std :: gcd?
Je suis tombé sur ce comportement std::gcdque j'ai trouvé inattendu: #include &lt;iostream&gt; #include &lt;numeric&gt; int main() { int a = -120; unsigned b = 10; //both a and b are representable in type C using C = std::common_type&lt;decltype(a), decltype(b)&gt;::type; C ca = std::abs(a); C cb = b; std::cout &lt;&lt; a …


1
Pourquoi std :: swap ne fonctionne-t-il pas sur les éléments vectoriels <bool> sous Clang / Win?
J'ai un code comme celui-ci: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } Arguments sur la raison de vector&lt;bool&gt;côté, cela fonctionnait très bien sur: Clang pour Mac Visual Studio pour Windows GCC pour Linux Ensuite, j'ai essayé de le construire avec Clang sur Windows et …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.