En C++ las constantes son tratadas en tiempo de compilación. Por ejemplo definir un array estático amerita colocar información constante, el siguiente código es ilegal:
int longitud() { return 10;} int vector[longitud() + 5]; |
C++ 11 introduce «constexpr«, lo que permite que el usuario garantize que una función o constructor es constante en tiempo de compilación, por ejemplo:
constexpr int longitud() { return 10;} int vector[longitud() + 5]; // Crea un vector de enteros de 15 posiciones. Legal en C++11!! |