Перейти к содержимому
Задача · Сборка и препроцессор · урок 8 из 8

Задача: макросы → constexpr

Замените три макроса в файле:

  • kMaxUsers — константой constexpr int со значением 100;
  • square(x) — функцией constexpr int square(int x), которая возвращает квадрат x;
  • half(x) — функцией constexpr int half(int x), которая возвращает x / 2.

Имена оставьте прежними: их используют тесты, и они же проверяют, что kMaxUsers, square и half больше не макросы. Строка #if defined(square) в тестах проверяет, определён ли такой макрос.

  • square(2 + 1) → 9
  • 100 / square(5) → 4
  • half(10 + 4) → 7

Ограничения: x — любое значение типа int, в том числе отрицательное, и квадрат помещается в int; один вызов square тесты вычисляют при компиляции.

Не добавляйте лишних #include, если в задаче это прямо не сказано.

macros.cpp — cpp
cpp · строк: 4
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом