|
8 / 7 / 1
Регистрация: 22.03.2016
Сообщений: 343
|
||||||
Альтернатива или замена "#define"03.05.2025, 18:18. Показов 11168. Ответов 35
У некоторых начинающих в с++ в интернете возникают вопросы как заменить #define чтобы не писать тонну define строк в программе.
Это очень просто, замены не существует на самом деле. Нужно просто добавить отдельную подпрограмму только для ресурсов, туда можно вписать любые мешающие алгоритмы как define, любые. Обязательно подключить библиотеку подпрограммы например как у меня include "define.cpp". Таким образом вы создаёте свою личную библиотеку на которую ссылаетесь в основной программе, с любыми define и вообще любыми не удобными для вас алгоритмами. Если вы новичок таким образом это как один из вариантов очень легко программировать любые сокращения массы алгоритмов. Пример:
0
|
||||||
| 03.05.2025, 18:18 | |
|
Ответы с готовыми решениями:
35
Есть ли замена функциям как, например, define?
Как #define MB_OK присвоить клик ЛКМ или движение курсора? |
|
8 / 7 / 1
Регистрация: 22.03.2016
Сообщений: 343
|
|
| 03.05.2025, 20:06 [ТС] | |
|
Если писать всё по 1000 раз каждый алгоритм в каждом месте без ссылок почти, оптимизация видеоигры будет лучше или хуже?
0
|
|
|
6280 / 3004 / 1051
Регистрация: 01.06.2021
Сообщений: 11,254
|
||
| 03.05.2025, 20:26 | ||
|
1
|
||
|
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
|
||
| 03.05.2025, 20:38 | ||
|
1
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 04.05.2025, 00:39 | |||
|
Человек ещё не знает, в какую черную дыру он может попасть с этими
#define ![]() Добавлено через 1 минуту Добавлено через 2 минуты
1
|
|||
|
8 / 7 / 1
Регистрация: 22.03.2016
Сообщений: 343
|
|
| 04.05.2025, 09:30 [ТС] | |
|
Спасибо. Попробую использовать typedef и inline. Только не пойму как другую команду в них засунуть с изменяемыми переменными, не уверен что они это вообще могут
0
|
|
|
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
|
||
| 04.05.2025, 10:10 | ||
|
И да, не хотие что ли основы С++ подтянуть, что бы глупые вопросы не задавать про "команды"..
1
|
||
|
фрилансер
6489 / 5717 / 1133
Регистрация: 11.10.2019
Сообщений: 15,261
|
|
| 04.05.2025, 10:21 | |
Сообщение было отмечено Bogradan как решение
Решение
Bogradan, вместо typedef нужно использовать using
а inline пока что явно не используй Добавлено через 4 минуты Azathtot, inline нужен не для встраивания, а для возможности множественного определения глобальных объектов и функций. Товарисчу ТС пока что это не нужно, больше бед наделает
1
|
|
|
6280 / 3004 / 1051
Регистрация: 01.06.2021
Сообщений: 11,254
|
|
| 04.05.2025, 10:25 | |
|
Алексей1153, согласен. Inline использовался для встраивания при царе горохе, сейчас оптимизация компилятора все четко делает.
1
|
|
|
8 / 7 / 1
Регистрация: 22.03.2016
Сообщений: 343
|
||||||
| 04.05.2025, 10:48 [ТС] | ||||||
|
Я вместо define научился делать тоже самое с typedef. Спасибо за то что объяснили как правильно. Наконец то я умею делать с классами что угодно и вертеть их как хочу. Define не буду использовать больше.
0
|
||||||
|
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
|
|
| 04.05.2025, 10:50 | |
|
1
|
|
|
8 / 7 / 1
Регистрация: 22.03.2016
Сообщений: 343
|
||||||
| 04.05.2025, 10:59 [ТС] | ||||||
Какая разница если Pure C встроен в С++. Ну хорошо, попробовал using тоже работает. ![]()
0
|
||||||
|
6280 / 3004 / 1051
Регистрация: 01.06.2021
Сообщений: 11,254
|
||
| 04.05.2025, 13:07 | ||
Сообщение было отмечено Bogradan как решение
Решениеusing может делать все то же самое, что typedef, а вот typedef не может делать все то же самое, что using. Особенно, что касается современного С++, STL и прочего, в частности шаблонов. В современном С++ предпочтительнее использовать using.
1
|
||
|
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
|
||
| 04.05.2025, 13:39 | ||
|
Я понимаю сократить std::map<std::string,std::unorderd_set<s td::vector<MyType>>> до допустим map_of_typed_set_t но сокращать Texture до t это ССЗБ.
1
|
||
|
фрилансер
6489 / 5717 / 1133
Регистрация: 11.10.2019
Сообщений: 15,261
|
||||||
| 04.05.2025, 13:43 | ||||||
|
Bogradan,
1
|
||||||
|
1 / 1 / 0
Регистрация: 02.10.2021
Сообщений: 83
|
||
| 22.06.2025, 15:29 | ||
|
0
|
||
|
8 / 7 / 1
Регистрация: 22.03.2016
Сообщений: 343
|
|
| 13.07.2025, 00:45 [ТС] | |
|
Да, это очень плохо define использовать, не делайте так никогда, typedef и using использую хорошо.
0
|
|
| 13.07.2025, 00:45 | |
|
Внешний define или нечто подобное Ввод формул с Edit или альтернатива Кириллица в openGL (glut, freeglut) или (!) альтернатива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|