Preguntas etiquetadas con c++17

C ++ 17 es el nombre del estándar C ++ aprobado en 2017. Se basa en el estándar C ++ 14 anterior, mejorando el lenguaje central y la biblioteca estándar, y agregando algunas características nuevas del lenguaje.





3
¿Cómo puedo crear un producto cartesiano de listas de tipos en C ++?
Autoexplicativo. Básicamente, digamos que tengo listas de tipos así: using type_list_1 = type_list<int, somestructA>; using type_list_2 = type_list<somestructB>; using type_list_3 = type_list<double, short>; Pueden ser un número variado de listas de tipos. ¿Cómo obtengo una lista de tipos de productos cartesianos? result = type_list< type_list<int, somestructB, double>, type_list<int, somestructB, short>, …


4
Conversión implícita no permitida al regreso
#include <optional> bool f() { std::optional<int> opt; return opt; } No compila: 'return': cannot convert from 'std::optional<int>' to 'bool' Consulta de referencia Pensé encontrar una explicación, pero la leí, ya que debería estar bien. Las conversiones implícitas se realizan cada vez que se usa una expresión de algún tipo T1 …

3
Dividir un tipo de variante std :: dado por un criterio dado
Cómo por un tipo de variante dado using V = std::variant<bool, char, std::string, int, float, double, std::vector<int>>; declarar dos tipos de variantes using V1 = std::variant<bool, char, int, float, double>; using V2 = std::variant<std::string, std::vector<int>>; donde V1incluye todos los tipos aritméticos de Ve V2incluye todos los tipos no aritméticos de …
20 c++  c++17  std-variant 


4
¿Es válido usar std :: transform con std :: back_inserter?
Cppreference tiene este código de ejemplo para 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; }); Pero también dice: std::transformno garantiza la aplicación en orden de unary_opo binary_op. Para aplicar una función a una secuencia en orden o para aplicar una función que modifique …


4
Enum. Continua C ++ 11
¿Hay alguna manera de verificar en C ++ 11 si una enumeración es continua ? Es totalmente válido dar valores enum que no lo son. ¿Hay tal vez una característica como un rasgo de tipo en C ++ 14, C ++ 17 o tal vez C ++ 20 para verificar …
17 c++  c++11  c++14  c++17  c++20 


1
std :: pair <auto, auto> tipo de retorno
Estaba jugando con autoadentro std::pair. En el siguiente código, fse supone que la función devuelve una std::pairde los tipos que dependen de un parámetro de plantilla. Un ejemplo de trabajo: EJEMPLO 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints …


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.