Resultados de la búsqueda a petición "constexpr"
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
¿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"; ...
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 ...
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 ...
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() { ...