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

2 la respuesta

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

1 la respuesta

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

3 la respuesta

¿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é ...

1 la respuesta

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

1 la respuesta

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

2 la respuesta

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

6 la respuesta

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

3 la respuesta

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

3 la respuesta

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

4 la respuesta

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