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

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

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

6 ответов

16 просмотров

Есть возможность написать 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 Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта