|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
||||||
Макрос, генерирующий опреденное количество переменных в структуре31.08.2017, 18:28. Показов 2108. Ответов 30
Метки нет (Все метки)
Доброго времени суток Господа. Хотел бы узнать такой момент. Можно ли с помощью макросов сгенерировать определенное количество переменных в структуре, определенного типа?
К примеру:
0
|
||||||
| 31.08.2017, 18:28 | |
|
Ответы с готовыми решениями:
30
Макрос, генерирующий звук с заданными продолжительностью и тоном Проверка переменных в структуре Непонятная перезапись переменных в структуре |
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
| 31.08.2017, 18:35 [ТС] | |
|
Avazart, ради любопытства захотел кое-что сделать
0
|
|
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
| 31.08.2017, 20:14 [ТС] | |
|
Evg, Почему? Объясните пожалуйста
0
|
|
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 31.08.2017, 20:20 | ||
|
1
|
||
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
| 31.08.2017, 20:30 [ТС] | |
|
Fulcrum_013, Да одинаковый тип, но массивом нельзя. Нужно именно переменными
0
|
|
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 31.08.2017, 20:40 | |
|
0
|
|
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
||
| 31.08.2017, 20:42 [ТС] | ||
|
Fulcrum_013,
Просто нельзя их использовать и все. Нужно генерировать именно переменные.
0
|
||
|
|
|
| 31.08.2017, 20:58 | |
|
0
|
|
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
| 31.08.2017, 21:25 [ТС] | |
|
Evg, Тоесть, из-за того, что нет реальных циклов на препроцессоре, мою поставленную задачу нельзя решить?
0
|
|
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
| 01.09.2017, 08:12 [ТС] | |
|
Evg, вообщем тогда закрыли тему
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||||||||||
| 01.09.2017, 11:37 | ||||||||||||||||||
|
можно циклы, можно условия, и тп. другое дело, что результат гм... не особо читабельно-отлаживаемый. пример SFINAE-детектора компилябельности любых выражений на языке с++: Кликните здесь для просмотра всего текста
результат раскрытия макроса - SFINAE-детектор, при помощи которого можно времени компиляции определять, скомпилируется ли указанное выражение. в пользовательском коде, проверка компилябельности выражения может выглядеть так:
последний аргумент:
которое провалидирует результирующий шаблон. в данном примере: мы хотим времени компиляции узнать, можно ли объект типа Target вывести в поток типа Ostream разные выражения могут потребовать различное количество объектов, которое в нем участвуют. соответственно, нужно реплецировать шаблон-валидатор под это разное количество. в данном случае внутри результирующего шаблона в цикле прописываются соответствующие типы, аргументы, и тп. как видите, препроцессором можно практически без ограничений обрабатывать текст любой произвольной сложности. но блин - нефига же не читабельно. а если придется отлаживать - проще сразу застрелиться.
1
|
||||||||||||||||||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||||
| 01.09.2017, 16:07 | ||||||||||||
При этом вариант с массивом имеет все те же возможности что и набор переменных. Плюс доступ по индексу без унсафе арифметики указателей.
1
|
||||||||||||
| 01.09.2017, 17:09 | |
|
0
|
|
| 01.09.2017, 17:18 | ||
|
Не по теме:
0
|
||
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
||||
| 01.09.2017, 18:00 [ТС] | ||||
|
hoggy,
Я просто захотел впервые почувствовать на себе, что такое макросы, и поставил перед собой задачу, которая прозвучала в моем первом вопросе темыFulcrum_013,
Но просто хотел посмотреть, можно ли с помощью макросов генерировать определенное количество переменных. Поэтому и решил без массивов. С массивами конечно все просто![]() Fulcrum_013, Не по теме:
0
|
||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 01.09.2017, 18:04 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 01.09.2017, 18:40 | ||
Сообщение было отмечено Bretbas как решение
Решениеесли есть возможность их не использовать, то стоит подумать: может ну их нафиг? они используются для двух основных целей: 1. условная компиляция что бы на уровне исходного кода порешать проблемы платформо-специфических зависимостей, либо применить настройки конфигурации (допустим, в релизе мы хотим повыпиливать из сборки часть проверок) 2. для значительно расширяющих возможности языка. существует мнение, что и первое и второе - не нужно. но мы то знаем
1
|
||
| 01.09.2017, 18:40 | |
|
Помогаю со студенческими работами здесь
20
Почему не получается освободить память, выделенную для переменных в структуре? Передача переменных Excel/Word в макрос
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|