170 похожих чатов

Есть ли возможность написать такой дефайн, чтобы int NAMES(5); раскрылся

в:
int name5, name4, name3, name 2, name1, name0;
?

6 ответов

3 просмотра

Есть возможность написать int name[6]; и не изобретать дичь...

...параметр можно приклеить к чему-то еще, чтобы получился новый идентификатор. Для этого между параметром и тем, с чем мы его склеиваем, нужно поставить '##': #define PRINT_VAL (number) printf("%d", value_##number); int value_one = 10, value_two = 20; PRINT_VAL(one) // -> 10 PRINT_VAL(two) // -> 20 Источник: https://habr.com/ru/post/546946/ может быть поможет, хотя не до конца решает проблему

#define CONC_(a,b) a##b #define CONC(a,b) CONC_(a,b) #define LOOP1(a) CONC(a,__COUNTER__) #define LOOP2(a) CONC(a,__COUNTER__), LOOP1(a) #define LOOP3(a) CONC(a,__COUNTER__), LOOP2(a) #define LOOP4(a) CONC(a,__COUNTER__), LOOP3(a) #define LOOP5(a) CONC(a,__COUNTER__), LOOP4(a) #define LOOP6(a) CONC(a,__COUNTER__), LOOP5(a) #define LOOP7(a) CONC(a,__COUNTER__), LOOP6(a) #define LOOP8(a) CONC(a,__COUNTER__), LOOP7(a) #define LOOP9(a) CONC(a,__COUNTER__), LOOP8(a) #define NAMES(n,a) LOOP##n(a) int main(void) { int NAMES(6, name); } g++ -E -P test.cpp int main(void) { int name0, name1, name2, name3, name4, name5; } если что я нуб в этом, помогаю как могу

Массивы не проходили ещё, да?

Red-Paper Автор вопроса
Дмитрий Д
#define CONC_(a,b) a##b #define CONC(a,b) CONC_(a,...

Спасибо, что-то похожее. Завтра попробую.

Red-Paper Автор вопроса

Похожие вопросы

Обсуждают сегодня

Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Делал задачу вот такую https://stepik.org/lesson/4985/step/9?unit=1083 получилось такое https://play.haskell.org/saved/ipKrepqe оно работает, тестов много не писал, но работае...
Fedor
22
Hey Does anyone know how can I receive push notifications from Github on my account? The official Github android app doesn't send notifications, and I don't use the email bec...
Jacob
10
что-то я не понимаю, в линуксе отладочную информацию как убрать из бинаря? он что с этой опцией, что без - одного и того же (достаточно большого) размера (да, я про лазарь)
Iluha Companets
13
Это что теперь, любой бот сможет принимать платежи без ебли с юр лицами?
Lencore
8
Всем привет, а может кто-то подсказать какие-то советы или типо того, как оптимальнее всего сапортить сервисы в разных локациях (канада + австралия + евпропа)? Будет ли ошибк...
Stas
8
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Не догоняю немного каким боком тут эппл Вот есть веб (мини) апп, который по факту веб сайт, просто в телеге веб вью и если там оплата, то нежно вот эти приседания?
e\\/gen
7
Всем привет! Может кто поможет разобраться с чёрной магией? (во всяком случае для меня) Дело вот в чём - написал я код для общения с tmc2209 драйвером по half duplex uart. М...
pronvis
4
Почему спрашиваю - поймал падение на совершенно уже пустом проекте, хочу до минимального повторяемого свести... Такой вопрос - вот эти юниты, перечисленные в инспекторе объек...
notme
6
Карта сайта