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

1 la respuesta

¿Es posible instanciar plantillas usando un bucle for en una función constexpr de C ++ 14?

1 la respuesta

¿Qué sucede cuando se lanza una excepción al calcular un constexpr?

1 la respuesta

Constructor constexpr con validación de compilación.

Me gustaría construir una clase con la opción de constexpr-ness. Y, por supuesto, me gustaría aprovechar la verificación de errores de compilación.Cada

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

1 la respuesta

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

1 la respuesta

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

1 la respuesta

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

1 la respuesta

Comprender el ejemplo de conversión de valor a valor

Me cuesta entender cómo funciona este código (un ejemplo del borrador del estándar C ++ 14[conv.lval]) invoca un comportamiento indefinido parag(false). Por queconstexpr ¿Es válido el programa? Además, ¿qué quiere decir con "no accedey.n"? En ...

1 la respuesta

Uso del valor constexpr capturado lambda como una dimensión de matriz

GCC yClang compile el siguiente código: void Test() { constexpr int Size = 3; auto Lambda = [Size]{ int Dim[Size]; }; } Sin embargo,VisualStudio 2015 CTP 6 no. Sin embargo, los 3 compiladores están contentos con este código: void Test() { ...