РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
17 of 815 menu

Ключевое слово const

Ключевое слово const указывает компилятору, что значение сущности изменять нельзя. Его можно применять к переменным, параметрам функций, возвращаемым значениям, методам классов и даже к указателям. Если переменная объявлена как const, то после инициализации ей нельзя присвоить новое значение. Для методов классов const в конце объявления означает, что метод не изменяет поля объекта. Для указателей различают указатель на константу и константный указатель.

Синтаксис

const тип имя = значение; тип имя_функции(параметры) const; const тип* указатель; тип* const указатель;

Пример

Объявим константную переменную и попробуем изменить её значение. Компилятор выдаст ошибку, поэтому в примере мы только читаем значение:

#include <iostream> using namespace std; int main() { const int num = 5; cout << num << endl; return 0; }

Результат выполнения кода:

5

Пример

Объявим константный метод класса. Такой метод не может изменять поля объекта и вызывается для константных объектов:

#include <iostream> using namespace std; class Numbers { private: int a; int b; public: Numbers(int a, int b) : a(a), b(b) {} int sum() const { return a + b; } }; int main() { const Numbers nums(2, 3); cout << nums.sum() << endl; return 0; }

Результат выполнения кода:

5

Пример

Разница между указателем на константу и константным указателем. В первом случае нельзя менять значение по указателю, во втором - нельзя менять сам адрес:

#include <iostream> using namespace std; int main() { int a = 1; int b = 2; const int* p1 = &a; p1 = &b; int* const p2 = &a; *p2 = 3; cout << *p1 << " " << *p2 << endl; return 0; }

Результат выполнения кода:

2 3

Смотрите также

  • ключевое слово constexpr,
    которое вычисляет значение на этапе компиляции
  • ключевое слово consteval,
    которое требует вычисления на этапе компиляции
  • ключевое слово mutable,
    которое разрешает изменение поля в константном методе
  • ключевое слово auto,
    которое выводит тип переменной автоматически
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить