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