What’s a Constant Expression?

What’s a Constant Expression?

In several occasions, C++ requires the use of integral constant expressions, for instance: array bounds, case expressions, bit-field lengths, and enumerator initializers must all be integral constant expressions. An integral constant expression is one of the following:

A numeric literal:



   enum state { up, down};//up & down are constant expressions

Const variables or static data members of integral or enumeration types initialized with constant expressions:

   const int x = 0; // x is a constant expression

Non-type template parameters of integral or enumeration types:

   S  s; // a template argument

Sizeof expressions:

   sizeof (int);


Share the Post: