Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка итератора https://www.cyberforum.ru/ cpp-beginners/ thread630762.html
как проверить указывает ли на что либо итератор или он уже неправильный?
Как передать значение? C++
В проекте у меня несколько модулей *.cpp* но все модули используют дискрептор приложения *HINSTANCE hInstA* но этот дескриптор только в главном модуле а мне надо что бы эту переменную было видно в...
Ошибка С2448 в функции C++
учусь что либо написаь на С++ использую Visual Studio 2010 express выпуск тока прочел про функции и хочу написать функции с параметром но выводит ошибку и мне самому не понять что от меня хотят...
C++ Найти сумму индекса элемент массива после первого отрицательного элемента Найти сумму индекса элемент массива расположенных после первого отрицательного числа https://www.cyberforum.ru/ cpp-beginners/ thread630722.html
C++ Преобразовать массив https://www.cyberforum.ru/ cpp-beginners/ thread630720.html
Преобразуйте массив переставив все элементы все нулевые элементы в в конец массива
C++ Программа псевдографики
Создать программу, которая бы в псевдографическом режиме рисовала фигуру Х. программа должна запросить размер фигуры и вывести изображение фигуры заданного размера. помогите написать. ...
Получить текущее время C++
Столкнулся с такой проблемой. Нужно преобразовать результат, который возвращает time(0), в часы, минуты и секунды текущего дня. Для часов делаю таким образом: int hour = (time(0) / 3600) % 24; ...
C++ Отладка Всем доброго времени суток! Я новичок на этот форуме, да и вообще в программировании. Я начал заниматься написанием плагинов на С++ для программы InDesign. Вопрос заключается в следующем: как... https://www.cyberforum.ru/ cpp-beginners/ thread630663.html
C++ Написать программу, приближенно вычисляющую интеграл https://www.cyberforum.ru/ cpp-beginners/ thread630657.html
Приближенное вычисление интеграла по формуле прямоугольников. Написать программу, приближенно вычисляющую интеграл по заданным вещественным числам a, b, c, d (a<b, c<d) Интеграл вычисляется...
C++ Отсортировать 1 строку матрицы и 2 столбик по возрастанию Приветствую господа! Хочу понять как написать программу для сортировки 1 строки и 2 столбца матрицы по возрастанию, но не могу понять как правильно написать цикл для сортировки:( Я пробовал... https://www.cyberforum.ru/ cpp-beginners/ thread630652.html
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
0

Define внутри макроса

30.07.2012, 17:24. Просмотров 2399. Ответов 2
Метки (Все метки)

Подкажите возможно ли написать макрос кот. создаст #define?
например:
C++
1
#define  MACRO(name)  #define NAME name
знаю, что напрямую так не напишешь т.к. второй define будет взят в кавычки, но может есть какая "хитрость"

Нужен макрос раскрывающийся в следующий код
пишем так:
C++
1
2
3
4
5
6
7
8
#define MAT1(name, ...) int name##1 [] = { __VA_ARGS__ }; 
#define MAT2(name, ...) int name##2 [] = { __VA_ARGS__ }; 
...
START(name)  // #define NAME name 
 MAT1(1, 2)
 MAT2(3, 4)
 MAT3(5, 6)
STOP()       // #undef NAME
Раскрыться должен в
C++
1
2
3
4
5
#define NAME name 
 MAT1(NAME ,1, 2)
 MAT2(NAME ,3, 4, 5)
 MAT3(NAME , 6)
#undef NAME


Вернуться к обсуждению:
Define внутри макроса
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2012, 17:24
Готовые ответы и решения:

[C++] Директива #define. В виде макроса определен шаблон функции.
Здравствуйте! Есть проблема и мне она непонятна! В программке присутствует директива #define...

Define внутри макро-функции
Возможно ли сделать в стиле: #define MY_MACRO( a, b ) \ # ifdef a \ # ...

Что означает решетка внутри макроса?
Нашёл код, там внутри макроса используются решетки. Что это означает? Если объясните сам код вообще...

Вывести значение макроса #define
Здравствуйте. Возникла проблема с #define. Нужно каким-нибудь способом вывести на экран значение...

2
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.