Спецификатор const

Задания раздела 2.4
2.26. Что из приведенного ниже допустимо? Если что-то недопустимо, то почему?
(a) const int buf;
(b) int cnt=0;
(c) const int sz=cnt;
(d) ++cnt; ++sz;

p97_ex2-4

Const - это спецификатор константы. Если нужно сделать переменную неизменяемой - const мой выбор. Переменная становится константой при определении, и присвоить ей значение второй раз нельзя.
const int i=1024;
i=1000; // так делать нельзя
Инициализировать константу можно по-всякому - результатом вычисления или присвоением литерала.
С константным объектом можно выполнять все операции, которые не могут изменить объект.

2.26. Что из приведенного ниже допустимо? Если что-то недопустимо, то почему?
(a) const int buf;
(b) int cnt=0;
(c) const int sz=cnt;
(d) ++cnt; ++sz;

(a) const int buf; // ошибка, неинициализированная константа;
(b) int cnt=0; // допустимо, cnt переменная типа int
(c) const int sz=cnt; /*  допустимо, sz константа инициализированная значением переменной cnt (нулем) */
(d) ++cnt; ++sz; // ошибка, изменить константу sz нельзя

Добавить комментарий