Доклад

Как объявить константу в С++?

  • На русском языке

С++ прекрасен тем, что простейшие вещи в нём могут быть чрезвычайно запутанны и сложны. Казалось бы, что может быть проще, чем объявить константу?

Достаточно лишь выбрать подходящий нам linkage и storage duration, определиться с видимостью константы и тем, в каких единицах трансляции она будет представлена. Выбрать наиболее удобный способ определения: глобальная переменная, локальная переменная, статическое поле класса. Указать подходящую комбинацию спецификаторов static, inline и constexpr. Ещё может быть стоит сделать переменную шаблоном или ссылкой. А если речь идёт о строке, надо бы ещё не прогадать с типом: const char*, char[], std::string, std::string_view.

Если для вас все эти шаги очевидны — поздравляем! Это впечатляет. Если же вам, как и Михаилу, этот зоопарк немного взрывает мозг, то давайте вместе в этом разберёмся.

Доклад предполагает понимание концепций linkage и storage duration, объявления и определения, спецификаторов static, inline и constexpr и их комбинаций. Весь этот материал раскрыт в предыдущем докладе Михаила "Спецификаторы, квалификаторы и шаблоны" на C++ Russia Piter 2019.

  • #languages

Приглашенные эксперты

Доклады