C/C++ Ready | Программирование
11.6K subscribers
696 photos
41 videos
334 links
Авторский канал по разработке на C и C++.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
Сегодня мы посвятим время важной теме — использованию макросов в C++ с помощью директивы препроцессора #define.

Макросы в C++ представляют собой механизм текстовой подстановки, реализуемый посредством директивы #define. Они позволяют задавать именованные константы и создавать макрофункции — фрагменты кода, которые заменяются непосредственно в исходном коде на этапе препроцессинга.

Например, часто встречается макрос для задания константы:
#define PI 3.14159 // Значение числа π


После его определения PI можно использовать как числовую константу:
double r = 10;
double S = PI * r * r; // Вычисляем площадь круга с радиусом 10


Еще одно полезное применение макросов — вычисление количества элементов в статическом массиве:
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))


Этот макрос позволяет получить размер массива без необходимости вручную пересчитывать элементы:
int numbers[] = {1, 2, 3, 4, 5};
int size = ARRAY_SIZE(numbers); // size будет равен 5


Но следует помнить, ARRAY_SIZE() корректно работает только со статическими массивами. Если передать в него указатель (например, динамический массив), результат будет некорректным.

🔥 Если вы хотите углубить свои знания по этой теме, не стесняйтесь писать в комментариях!

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍10👎2