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

2 la respuesta

¿Cuál es la razón por la cual `std :: result_of` está en desuso en C ++ 17?

Yo vistd::result_of está en desuso en C ++ 17. Cual es la razon destd::result_of en desuso en C ++ 17?También me gustaría saber la diferencia entrestd::result_of ystd::invoke_result.

1 la respuesta

¿Pueden los parámetros de plantilla que no son de tipo en c ++ 17 ser decltype (auto)?

Descubrí que gcc y clang permiten usardecltype(auto) en la cláusula de tipo de parámetro de plantilla no tipo P.ej.: template <decltype(auto)> struct X {}; int foo ; int main() { X<(foo)> x; static_cast<void>(x); }[live demo ...

3 la respuesta

Reemplazo de encabezado obsoleto <codecvt>

Un poco de primer plano: mi tarea requería convertir el archivo XML UTF-8 a UTF-16 (con el encabezado adecuado, por supuesto). Entonces, busqué las formas habituales de convertir UTF-8 a UTF-16, y descubrí que uno debe usar ...

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

¿Hay alguna razón para usar std :: map :: emplace () en lugar de try_emplace () en C ++ 1z?

En C ++ 17,std::map [http://en.cppreference.com/w/cpp/container/map]y std::unordered_map [http://en.cppreference.com/w/cpp/container/unordered_map] tiene una nueva plantilla de función ...

3 la respuesta

(v) es en realidad (* & v) desde cuándo?

¿Podrían los gurús de los estándares de C ++ iluminarme? Desde qué versión estándar de C ++ tiene esta declaración fallida porque(v) parece ser equivalente a(*&v)? Es decir. por ejemplo el código: #define DEC(V) ( ((V)>0)? ((V)-=1) : 0 ) ...

1 la respuesta

¿Se supone que decltype (auto) para un enlace estructurado es una referencia?

Considere un ejemplo: #include <iostream> #include <type_traits> #include <tuple> int main() { auto tup = std::make_tuple(1, 2); auto [ a, b ] = tup; decltype(auto) e = a; std::cout << std::boolalpha << std::is_reference_v<decltype(e)> << ...

1 la respuesta

¿Cómo proporcionar una guía de deducción para la clase de plantilla anidada?

De acuerdo a [temp.deduct.guide/3 [https://timsong-cpp.github.io/cppwp/n4659/temp.deduct.guide#3]]: (...) Se declarará una guía de deducción en el mismo alcance que la plantilla de clase correspondiente y, para una plantilla de clase miembro, ...

2 la respuesta

Estándar C ++: ¿las variables constexpr con ámbito de espacio de nombres tienen enlace interno?

Imagina que tenemos un encabezadofoo.h que contiene lo siguiente: #ifndef FOO_H_ #define FOO_H_ namespace foo { constexpr std::string_view kSomeString = "blah"; } #endif // FOO_H_Esfoo::kSomeString garantizado tener enlace interno en cualquier ...

2 la respuesta

La captura implícita de Lambda falla con la variable declarada desde el enlace estructurado

Con el siguiente código, obtengo un error de compilaciónC2065 'a': undeclared identifier (usando Visual Studio 2017): [] { auto [a, b] = [] {return std::make_tuple(1, 2); }(); auto r = [&] {return a; }(); //error C2065 }();Sin embargo, el ...