Resultados de la búsqueda a petición "c++17"

1 la respuesta

get <string> para variantes fallan bajo clang ++ pero no g ++

El siguiente código: variant<string> x = "abc"; cout << get<string>(x) << "\n";funciona bien en g ++ (versión 7.2). Sin embargo, cuando se compila bajo clang ++ (versión 5.0) usando libstdc ++, aparece el siguiente error enget ...

1 la respuesta

Variable `constexpr`“ utilizada en su propio inicializador ”: Clang vs. GCC

Esta pregunta parece estar relacionada conuno existente [https://stackoverflow.com/questions/43745569], pero no entiendo la "solución portátil" proporcionada enla respuesta ...

1 la respuesta

¿Cuáles son los cambios, si los hay, en las reglas de inicialización de por vida de memcpy en el nuevo estándar?

Hasta donde tengo entendido,memcpy en almacenamiento no inicializadono puedo [https://stackoverflow.com/q/30114397/149138]se puede usar de forma segura para crear una copia del objeto de origen. Sin embargo, eneste ...

1 la respuesta

Guía de deducción variable no tomada por g ++, tomada por clang ++: ¿quién está en lo correcto?

Considere el siguiente código: template <typename... Types> struct list { template <typename... Args> list(Args...) { static_assert(sizeof...(Types) > 0); } }; template <typename... Args> list(Args...) -> list<Args...>; int main() { list l{0, ...

1 la respuesta

¿Puedo usar el resultado de un operador de conversión lambda constexpr sin captura de C ++ 17 como un argumento sin tipo de plantilla de puntero de función?

Mientras contesta¿Cómo escribo una expresión lambda que se parece a un método? [https://stackoverflow.com/questions/47604606/how-do-i-write-a-lambda-expression-that-looks-like-a-method] , Intenté convertir una lambda sin captura en un puntero de ...

1 la respuesta

¿Es legal verificar si la dirección de un subobjeto se encuentra dentro de los límites de un objeto que contiene

2 preguntas: ¿El siguiente código está bien formado con un comportamiento definido? ¿Hay alguna implementación posible de c ++ en la que se pueda afirmar? Código (c ++ 11 y superior): #include <cassert> #include <utility> #include <ciso646> ...

1 la respuesta

¿Es posible usar enlaces estructurados para asignar miembros de la clase?

Me gustaría usar enlaces estructurados de C ++ 17 para asignar un valor a una variable de miembro de clase, como este: #include <cmath> #include <iostream> struct Result { double value; bool error; }; Result square_root(double input) { return ...

1 la respuesta

¿Cómo funciona std :: visit con std :: variant?

Estoy mirandostd:variant/std::visit doc aquí: http://en.cppreference.com/w/cpp/utility/variant/visit [http://en.cppreference.com/w/cpp/utility/variant/visit]y también busqué mucho en Google tratando de entender la magia detrásstd::visit ...

1 la respuesta

Uso de std :: launder para "validar" el valor del puntero no "puntero al objeto" desde C ++ 17

De acuerdo a estoresponder [https://stackoverflow.com/a/48062531/5632316], desde C ++ 17, incluso si un puntero tiene la dirección correcta y el tipo correcto de desreferenciación puede causarcomportamiento indefinido. alignas(int) unsigned char ...

1 la respuesta

¿Usa std :: launder para obtener un puntero a un miembro de objeto activo desde un puntero a un objeto inactivo?

Esta pregunta sigue a estauno [https://stackoverflow.com/questions/48188737/is-pointer-arithmetic-on-inactive-member-of-a-union-ub] Consideremos este código de ejemplo: struct sso { union{ struct { char* ptr; char size_r[8]; } large_str; ...