C++ Constant Expressions
C++ requiere las expresiones constantes — expresiones que se evalúan como una constante — para las declaraciones de:
Límites de matriz
selectores en caso de que instrucciones
especificación de longitud de campo de bits
Inicializadores de enumeración
Los únicos operandos que son válidos en expresiones constantes son:
Literales
Constantes de enumeración
valores declarados como const que se inicializan con expresiones constantes
expresiones sizeof
Las constantes no íntegras deben convertirse (explícita o implícitamente) a tipos enteros para ser válidos en una expresión constante.Por consiguiente, el código siguiente es válida:
const double Size = 11.0;
char chArray[(int)Size];
Las conversiones explícitas a tipos enteros son legales en expresiones constantes; el resto de tipos y los tipos derivados no son válidos excepto cuando se utilizan como operandos el operador sizeof.
El operador y los operadores de asignación de punto no se pueden utilizar en expresiones constantes.