Variables / Constants#
Variables#
To declare a variable
, you first specify what type
it will be, then an identifier for its name, then optionally
an initializer to give it a starting value. Finally, you can
list multiple variables in a single declaration as a
comma-delimited list.
If the initializer is omitted, the starting value will always
be 0
/NULL
.
int x; // starts at '0'
int y = 7;
int a = 2, b = 3; // 2 variables of 'int' type
int c, d, e = 5, f = 9; // c and d are '0'
Constants#
Declaring a constant
is extremely similar to declaring a
variable
- the only thing that determines a constant is the
‘type’ being const
. Important notes about constants:
A constant must have an initializer; without one, it will compile error.
A constant’s value cannot be modified after its initializer.
If the entire initializer expression is “compile-time constant”, then the value of the constant is also “compile-time constant”
Compile-time constants#
Any value that is entirely known and unable to ever change starting at compile-time, is known as a ‘compile-time constant’. Certain expressions and statements specifically require compile-time constant values. But, what things are compile-time constant?
Any primitive literal value, such as
5
,2.7
,true
.Any declared constant with an initializer that is compile-time constant
The results of basic operators, where every operand is compile-time constant (ex.
5 + 2
,2 < 6
)The return of a function call to a
constexpr
function, where every parameter is compile-time constnat