Examples
Example 1: Important domain-specific constants at namespace level.
const size_t PAGE_SIZE = 8192,
WORDS_PER_PAGE = PAGE_SIZE / sizeof(int),
INFO_BITS_PER_PAGE = 32 * CHAR_BIT;
Example 2: Class-specific constants.
You can define static integral constants in the class definition; constants of other types need a separate definition or a short function.
// File widget.h
class Widget {
static const int defaultWidth = 400; // value provided in declaration
static const double defaultPercent; // value provided in definition
static const char* Name() {return "Widget"; }
};
// File widget.cpp
const double Widget::defaultPercent = 66.67; // value provided in definition
const int Widget::defaultWidth; // definition required
 |