Resultados de la búsqueda a petición "decltype"

2 la respuesta

¿Qué significa exactamente el void () en decltype (void ())?

Este es un seguimiento deesta [https://stackoverflow.com/questions/39278200/is-sizeofvoid-a-legal-expression] pregunta, más precisamente de los comentarios deesta [https://stackoverflow.com/a/39278306/4987285]responder. Lo que hace elvoid() ...

3 la respuesta

¿Cuál es la diferencia entre decltype (auto) y decltype (return expr) como tipo de retorno?

Cuál es la diferencia entredecltype(auto) ydecltype(returning expression) como tipo de retorno de una función (plantilla) siexpr usado sin paréntesis en ambos casos? auto f() -> decltype(auto) { return expr; } // 1 auto f() -> decltype(expr) ...

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); ...

1 la respuesta

¿Existe una regla especial para lambda en caso de decltype (auto)?

Si entendí correctamenteesta respuesta [https://stackoverflow.com/a/44701336/4324224]y sección estándar referenciada [dcl.type.auto.deduct-5] [http://eel.is/c++draft/dcl.spec.auto#dcl.type.auto.deduct-5], el código: decltype(auto) a = e;siempre ...

2 la respuesta

C ++ 11: la sobrecarga no resuelve el decltype recursivo

En el siguiente código, intento construir una red de tipos. Por ejemplo, entrefloat yint, promover el resultado afloat: float join(float f, int) { return f; } float join(float f, float) { return f; } Luego presento unwrapper tipo: template ...

2 la respuesta

¿Cuáles son algunos de los usos de decltype (auto)?

En c ++ 14 eldecltype(auto) Se introduce el modismo. Por lo general, su uso es parapermitirauto declaraciones para usar eldecltype reglas sobre la expresión dada. Buscando ejemplos de uso "bueno" del idioma solo puedo pensar en cosas como ...

1 la respuesta

¿Por qué Visual Studio 2013 tiene problemas con este miembro de clase decltype?

#include <vector> struct C { std::vector<int> v; decltype(v.begin()) begin() { return v.begin(); } decltype(v.end()) end() { return v.end(); } };Clang ++ no tiene ningún problema, pero MSVC 2013 da el siguiente error: error C2228: left of ...

1 la respuesta

Interacción entre decltype y nombre de miembro de clase sombreando un nombre externo

Este código int clash; struct Foo { decltype(clash) clash; };se compila silenciosamente en el sonido metálico, pero no se compila en gcc dando los errores error: declaración de 'int Foo :: clash' [-fpermissive] error: cambia el significado de ...

4 la respuesta

¿Puedo usar decltype (o algo similar) para crear instancias explícitas de plantilla sin duplicación de firma?

Quiero instanciar template<typename T> void foo( T& t, SomeType some_parameter, AnotherType another_parameter, EtcType yet_another_parameter, AsYouCanTell this_is_a_very_long_signature);es decir, una función con una firma larga. Ahora, sé cómo ...

2 la respuesta

¿Por qué decltype en un literal de cadena no produce un tipo de matriz?

El estándar define el tipo de literal de cadena, en §2.13.5 / 8, como: Los literales de cadena ordinarios y los literales de cadena UTF-8 también se denominan literales de cadena estrecha. Un literal de cadena estrecha tiene el tipo "matriz de n ...