Resultados de la búsqueda a petición "constexpr"
Tiempo de compilación de inicialización de matriz: secuencia Constexpr
estaba leyendoesta [https://stackoverflow.com/questions/45938798/for-loop-with-variable-step-size-c#45939130] pregunta sobre SO. La pregunta en sí no es tan interesante, pero me preguntaba si existe y cómo implementar una solución de tiempo de ...
constexpr: definición y declaración para miembros constexpr
Si quiero usar algunas cosas de conveniencia comomake_array No tengo oportunidad de declarar mi matriz primero y luego hacer la definición como se hizo en tiempos "anteriores" porque el tipo de mi var no está disponible antes de ...
¿Evaluar strlen en tiempo de compilación?
Si mi código tiene estoconstexpr cuerda constexpr char my_str[] = "hello";el tipo demy_str contiene información sobre su tamaño, es decirsizeof(my_str) es una constante 6 y se puede usar en cualquier lugar donde se requiera una constante. Qué ...
¿Por qué puedo llamar a una función no constexpr dentro de una función constexpr?
Considere el siguiente código: #include <stdio.h> constexpr int f() { return printf("a side effect!\n"); } int main() { char a[f()]; printf("%zd\n", sizeof a); }Hubiera esperado que el compilador se quejara de la llamada aprintf dentrof, porquef ...
Diferencia entre la cadena literal y la matriz constexpr de char
Me he estado preguntando si hay alguna diferencia entre lo que señalaptrToArray yptrToLiteral en el siguiente ejemplo: constexpr char constExprArray[] = "hello"; const char* ptrToArray = constExprArray; const char* ptrToLiteral = "hello"; ...
Constante integral pasada por valor, tratada como constexpr?
Aunque he usado código como este antes, y está claro que el compilador tiene suficiente información para funcionar, realmente no entiendo por qué esto compila: template <class T, class I> auto foo(const T& t, I i) { return std::get<i>(t); } int ...
enum vs constexpr para constantes estáticas reales dentro de clases
Permítanme comenzar declarando mi intención. En los viejos tiempos (C ++), tendríamos código como: class C { public: enum {SOME_VALUE=27}; };Entonces podríamos usarSOME_VALUE a lo largo de nuestro código como una constante de tiempo de ...
¿Se utiliza necesariamente una matriz constexpr cuando se suscribe?
Dado el siguiente código: struct A { static constexpr int a[3] = {1,2,3}; }; int main () { int a = A::a[0]; int b [A::a[1]]; }esA::a ...
Constantes globales en C ++ 11
¿Cuáles son las mejores formas de declarar y definir constantes globales en C ++? Estoy principalmente interesado en el estándar C ++ 11 ya que soluciona mucho a este respecto. [EDITAR (aclaración)]: en esta pregunta, "constante global" denota ...
¿Constexpr es una "pista" (como en línea) o "una solicitud vinculante" para el compilador?
Esconstexpr ¿Es un indicador para el compilador o exige un comportamiento? El ejemplo en cuestión es el siguiente: template<typename T> std::size_t constexpr getID() { return typeid(T).hash_code(); }hash_code es una constante de tiempo de ...