Отличительной особенностью переменных является то, что мы можем многократно в течение работы программы изменять их значение:
int n {7}; n = 9; n = 5;
Но кроме переменных в языке программирования C++ можно определять константы. Их значение устанавливается один раз и впоследствии мы его не можем изменить. Константа определяется практически так же, как и переменная за тем исключением, что в начале определения константы идет ключевое слово const. Например:
const int n {22}; // или // const int n = 22;
И также в процессе программы мы сможем обращаться к значению константы:
#include <iostream> int main() { const int age {22}; std::cout << "Age = " << age << "\n"; }
Но если же мы захотим после определения константы присвоить ей некоторое значение, то компилятор не сможет скомпилировать программу и выведет ошибку:
const int age {22}; age = 78;
То есть такой код не будет работать. И так как нельзя изменить значения константы, то ее всегда необходимо инициализировать, если мы хотим, чтобы она имела некоторое значение.
Если константа не будет инициализирована, то компилятор также выведет ошибку и не сможет скомпилировать программу, как в следующем случае:
const int age;
В качестве значения константам можно передавать как обычные литералы, так и динамически вычисляемые значения, например, значения переменных или других констант:
int a {10}; const int b {7}; const int d {b}; const int x {a};
Обычно в качестве констант определяются такие значения, которые должны оставаться постоянными в течение работы всей программы и не могут быть изменены. Например, если программы выполняет математические операции с использованием числа PI, то было бы оптимально определить данное значение как константу, так как оно все равно в принципе неизменно:
const float pi {3.14};