Отправляет email-рассылки с помощью сервиса Sendsay
Открытая группа
27 участников
Администратор Legotckoi
Модератор ProgrammersBlog

Последние откомментированные темы:

20250425012719

←  Предыдущая тема Все темы Следующая тема →
пишет:

C++ - Урок 003. Константы

C++ поддерживает две нотации неизменности:

  1. const - которая подразумевает, что значение не будет изменяться. В первую очередь это используется для спецификации интерфейсов, для данных которые передаются в функции и методы так, чтобы не опасаться, что они будут изменены. Компилятор отслеживает наличие спецификатора const;
  2. constexp - который подразумевает вычисление константы во время компиляции. Используется для размещения данных в памяти, где они не будут повреждены, а также для улучшения производительности.

Например:

const int dmv = 17;                      // константа с именем dmv
int var = 17;                            // переменная var не является константой
constexpr double max1 = 1.4square(dmv); // OK, так как square(17) является константым выражением
constexpr double max2 = 1.4square(var); // Ошибка, так как var не является константой
const double max3 = 1.4square(var);     // OK, поскольку выражение может быть вычислено в рантайме
double sum(const vector<double>&);       // sum не будет модифицировать его аргументы
vector<double> v {1.2, 3.4, 4.5};        // v не является константой
const double s1 = sum(v);                // OK, будет вычислено в рантайме
constexpr double s2 = sum(v);            // Ошибка, sum(v) не является константным выражением.

Читать далее

Это интересно
0

23.06.2017
Пожаловаться Просмотров: 159  
←  Предыдущая тема Все темы Следующая тема →


Комментарии временно отключены