Resultados de la búsqueda a petición "c++17"
reinterpret_cast, char * y comportamiento indefinido
¿Cuáles son los casos dondereinterpret_casting achar* (ochar[N]) es un comportamiento indefinido, y ¿cuándo es un comportamiento definido? ¿Cuál es la regla general que debería usar para responder esta pregunta? Como aprendimos deesta pregunta ...
¿Cómo se rompe el código P0522R0?
Hoy estaba leyendo la página de soporte de C ++ 17 de clang. He notado algo extraño. La característicaEmparejar parámetros de plantilla de plantilla con argumentos compatibles ...
Determinar si un constructor de una clase base abstracta no es excepto?
En C ++ 11 y versiones posteriores, cómo determinar si un constructor de una clase base abstracta esnoexcept? Los siguientes métodos no funcionan: #include <new> #include <type_traits> #include <utility> struct Base { Base() noexcept; virtual ...
¿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> ...
¿Por qué las declaraciones de descomposición no pueden ser constexpr?
Considere el siguiente fragmento para probar las próximas declaraciones de descomposición de características de C ++ 17 (anteriormente conocidas como enlaces estructurados) #include <cassert> #include <utility> constexpr auto divmod(int n, int ...
Sobrecarga de estructuras con operador de llamada de plantilla y lambdas genéricos - gcc vs clang
He descubierto un fragmento de código que se compila y funciona correctamente en Clang ++ 4 (y tronco)pero falla al compilarg ++ 7 (y tronco). Supongamos que tengo lo siguientestruct tipos: struct a { void foo() { } }; struct b { void bar() { } ...
Clang y las expresiones de plegado binario: la maldición del paquete de parámetros vacío
Específicamente Clang 3.6.0, el que actualmente aloja Coliru. Todos estos fragmentos se llaman desde: int main() { foo(); std::cout << "\n----\n"; foo(1, 2, 3); }El siguiente código: template <class... Args> void foo(Args... args) { std::cout ...
Cómo habilitar el soporte de C ++ 17 en la extensión VSCode C ++
Sigo obteniendo garabatos de error en std :: string_view, pero puedo construir bien. ¿Hay alguna manera de decirle a intellisense o al linter C ++ que use C ++ 17? El error específico que obtengo es: namespace "std" has no member "string_view"
¿Tiene un puntero std :: byte las mismas implicaciones de alias que char *?
Las reglas estrictas de alias de C ++ (y C) incluyen que unchar* yunsigned char* puede alias cualquier otro puntero. AFAIK no hay una regla análoga parauint8_t*. Por lo tanto, mi pregunta: ¿Cuáles son las reglas de alias para ...
¿Es esto un error? El constructor Constexpr silenciosamente se convierte en no constexpr
Mire este código: struct NonConstexpr { NonConstexpr() { } }; template <typename T> struct Bar { NonConstexpr nonConstexpr; constexpr Bar() { } }; struct Foo { Bar<void> bar; constexpr Foo() { } };Foo tiene un miembro,Foo::bar::nonConstexpr, que ...