сonst везде, где только можно

Интересно, что далеко не все мне знакомые программисты исповедуют радикальный подход по использованию const: использовать const абсолютно везде, где это не приводит к ошибкам компиляции.

Я не имею ввиду очевидные применения const для аргументов функций и константных методов.

Я имею ввиду, что любая переменная, которая не меняется с момента ее создания, должна быть const. Само название “переменная” значит, что объект должен меняться. Если он не меняется, то это уже не переменная. Сделать переменную непемеренной в C/C++ можно с помощью ключевого слова const.

Пара примеров, где люди часто не ставят const:

const int sz = very_long_name_to_calculate_size(...);
for (int i = 0; i < sz; ++i) {
...
const VeryLongClassName var(a, lot, of, different, parameters);
int a = var.getX();
// Only "const" functions of "VeryLongClassName" are called further down.

Кстати, явное указание на неизменность переменной помогает компилятору в оптимизации.

Посты по теме:


Оригинальный пост | Disclaimer

Комментарии