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:

   x<100; // 100 is a constant expression

Enumerators:

   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 < 100 > s; // a template argument

Sizeof expressions:

   sizeof (int);
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: