Различия
Показаны различия между двумя версиями страницы.
— | define [2025/07/06 12:38] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Определение констант с помощью #define ====== | ||
+ | Оператор #define в [[zametki_po_jazyku_c|C++]] часто используют для определения символических констант. Он может появиться в любом месте исходного файла, а даваемое им определение имеет силу, начиная с места появления и до конца файла. | ||
+ | < | ||
+ | ===== Пример 1 ===== | ||
+ | |||
+ | <file cpp> | ||
+ | # define min 1 | ||
+ | # define max 100 | ||
+ | </ | ||
+ | В тексте программы вместо констант 1 и 100 можно использовать соответственно min и max. | ||
+ | ===== Пример 2 ===== | ||
+ | |||
+ | <file cpp> | ||
+ | #include < | ||
+ | using namespace std; | ||
+ | #define NAME "Vasya Pupkin." | ||
+ | void main () | ||
+ | { | ||
+ | cout << " My name is " << NAME; | ||
+ | } | ||
+ | Результат работы: | ||
+ | My name is Vasya Pupkin. | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | Так что, после макроопределения #define YES 1 | ||
+ | |||
+ | в операторе cout << " | ||
+ | |||
+ | не будет сделано никакой макроподстановки.</ | ||
+ | Замены в тексте можно отменять с помощью команды: | ||
+ | < | ||
+ | #undef < | ||
+ | </ | ||
+ | После выполнения такой директивы имя для препроцессора становится неопределенным и его можно определять повторно. Например, | ||
+ | < | ||
+ | #define M 16 | ||
+ | #undef M | ||
+ | #define M ' | ||
+ | #undef M | ||
+ | #define M " | ||
+ | </ | ||
+ | Директиву #undef удобно использовать при разработке больших программ, | ||
+ | |||
+ | . | ||
+ | A = 10; // | ||
+ | | ||
+ | # | ||
+ | | ||
+ | A = 5; // | ||
+ | | ||
+ | # | ||
+ | | ||
+ | B = A; // | ||
+ | | ||
+ | При выполнении программы B примет значение 10, несмотря на наличие оператора присваивания A=5; во включенном тексте. | ||
+ | |||
+ | Если строка_лексем оказывается слишком длинной, | ||
+ | |||
+ | #define STROKA "\n Multum, non multa - \ | ||
+ | mnogoe, no nemnogo!" | ||
+ | | ||
+ | cout << STROKA; | ||
+ | | ||
+ | |||
+ | На экран будет выведено: | ||
+ | |||
+ | | ||
+ | Напоминаем вам, что с помощью директивы #define мы с вами также создавали макросы. | ||
+ | ===== Читайте также ===== | ||
+ | * Директивы [[preprocessor|препроцессора]] | ||
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга