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

2 la respuesta

Devuelve el valor opcional con?: Operador

A menudo necesito usar el tipo opcional para las funciones: std::optional<int32_t> get(const std::string& field) { auto it = map.find(field); if (it != map.end()) return it->second; return {}; }¿Hay alguna manera de devolver el valor opcional en ...

2 la respuesta

¿Cuáles son los tipos de identificadores introducidos por enlaces estructurados en C ++ 17?

Que yo sepa, los identificadores introducidos por enlaces estructurados en C ++ 17 son, de hecho, referencias a alguna variable "oculta". Tal que auto [ a, b ] = std::make_tuple(1, 2);esmas o menos equivalente a auto e = std::make_tuple(1, 2); ...

3 la respuesta

¿Cuáles son los casos de uso para enlaces estructurados?

El estándar C ++ 17 presenta un nuevoenlaces estructurados [http://en.cppreference.com/w/cpp/language/structured_binding]característica, que fue inicialmentepropuesto [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf]en 2015 ...

1 la respuesta

Error de referencia indefinido con la nueva biblioteca del sistema de archivos y clang ++ 7

staba tratando de sacar el nuevofilesystem STL library, pero por alguna razón obtengo errores. LosClang++7 sitio web indica que debería admitir el nuevofilesystem biblioteca - de hechoclang corre delante deg++ Yo creo Usé algún código de otra ...

1 la respuesta

¿Qué cambios en C ++ hicieron que la inicialización de copia funcione para la clase con un constructor explícito?

Considera este código: struct X{ explicit X(){} explicit X(const X&){} }; void foo(X a = X()){} int main(){}Usando el estándar C ++ 14, tanto GCC 7.1 como clang 4.0rechaza [https,://godbolt.org/g/r8u5gO]El código, que es lo que esperaba. Sin ...

1 la respuesta

Las variables `const` y` constexpr` en los encabezados deben estar `en línea` para evitar violaciones de ODR?

Considere el siguiente encabezado y suponga que se usa en varias TU: static int x = 0; struct A { A() { ++x; printf("%d\n", x); } };Comoesta pregunt [https://stackoverflow.com/questions/4276794/static-keyword-in-h-file-and-internal-linkage] ...

2 la respuesta

¿Cómo forzar la deducción de argumentos de plantilla de clase al construir una clase en sus propias funciones miembro?

Considere el siguiente código: struct A {}; template <typename T> struct B { B(T) {} auto foo() {return B(A{});} // error: no matching function for call to 'B<int>::B(A)' }; auto foo() {return B(A{});} // compiles int main() { foo(); B b(0); ...

2 la respuesta

Comportamiento indefinido en el uso repetido del operador prefijo ++

Leo estoresponder [https://stackoverflow.com/a/4176333/6935629]sobre comportamiento indefinido, donde vi la siguiente declaración: ++++++i; // UB, parsed as (++(++(++i)))No creo que sea un comportamiento indefinido. Tengo una duda, ¿es realmente ...

3 la respuesta

Las variables en línea son únicas a través de los límites?

Este es un seguimiento deesta pregunt [https://stackoverflow.com/questions/51332851/alternative-id-generators-for-types/51334917#comment89715080_51334917] . Como se menciona en los comentarios a la respuesta: Una variable en línea tiene la ...

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, ...