Resultados de la búsqueda a petición "constexpr"
constexpr y RTTI
Me gustaría hacer algo como esto: template <typename T> constexpr ::std::size_t type_name_hash() { return ::std::hash<::std::string>()(typeid(T).name()); }Ahora, yo tampoco séhash nistring sonconstexpr, pero esto podría solucionarse, supongamos ...
Forzar que constexpr se evalúe en tiempo de compilación
#include <algorithm> struct S { static constexpr int X = 10; }; int main() { return std::min(S::X, 0); };Sistd::min espera unconst int&, el compilador probablemente le gustaría tener elS::X también definido en alguna parte, es decir, el ...
constexpr e inicialización de un puntero vacío const estático con reinterpretación de conversión, ¿qué compilador es el correcto?
Considere la siguiente pieza de código: struct foo { static constexpr const void* ptr = reinterpret_cast<const void*>(0x1); }; auto main() -> int { return 0; }El ejemplo anterior se compila bien en g ++ v4.9 (Demo en ...
Cómo sortear la limitación de reinterpretación de cast con constexpr
En c ++ 11, aconstexpr la expresión no puede contener reinterpretar moldes. Entonces, por ejemplo, si uno quisiera manipular los bits en un número de coma flotante, digamos para encontrar la mantisa del número: constexpr unsigned int ...
¿Por qué las plantillas permiten miembros de la función constexpr con constructores no constexpr?
Usando C ++ 14. ¿Por qué esto compilará? template<unsigned N> constexpr bool foo() { std::array<char, N> arr; return true; }pero no esto? constexpr bool foo() { std::array<char, 10> arr; // Non-constexpr constructor 'array' cannot be used in a ...
parámetros de la función constexpr como argumentos de plantilla
Estoy jugando con algún código de juguete usando c ++ 11 para descubrir un poco más sobre cómo funcionan las cosas. Durante esto me encontré con el siguiente problema que se simplifica a: template <int x, int y> class add { public: static ...
¿Cuándo debe usar la capacidad constexpr en C ++ 11?
Me parece que tener una "función que siempre devuelve 5" es romper o diluir el significado de "llamar a una función". Debe haber una razón, o una necesidad de esta capacidad o no estaría en C ++ 11. ¿Por qué está ahí? // preprocessor. #define ...
Pasando objetos constexpr alrededor
Decidí dar entonces nuevoC++14 definicion deconstexpr un giro y para aprovecharlo al máximo decidí escribir un pequeño analizador de cadenas en tiempo de compilación. Sin embargo, estoy luchando por mantener mi objetoconstexpr mientras lo pasa a ...
¿Por qué los miembros de datos no estáticos no pueden ser constexpr?
Este es un código válido: struct S { constexpr S(int x, int y): xVal(x), yVal(y) {} constexpr S(int x): xVal(x) {} constexpr S() {} const int xVal { 0 }; const int yVal { 0 }; };Pero aquí realmente me gustaría declararxVal yyVal constexpr--Me ...
¿Por qué no se define `std :: initializer_list` como un tipo literal?
Este es un seguimiento de esta pregunta:¿Es legal declarar un objeto constexpr initializer_list? [https://stackoverflow.com/questions/16063123/is-it-legal-to-declare-a-constexpr-initializer-list-object] . Desde C ++ 14, elstd::initializer_list ...