"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
1

макрос COMBINE

18.01.2016, 15:53. Показов 734. Ответов 2
Метки нет (Все метки)

Доброго времени суток. Дан код:

C++
1
2
3
4
5
#define SUFFIX                5
#define COMBINE(a,b)       COMBINE1(a,b)
#define COMBINE1(a,b)      a##b
 
#define I_DELEGATE         COMBINE(IDelegate, SUFFIX)
И пояснение (статья тут - https://rsdn.ru/article/cpp/delegates.xml)
Обратите внимание на использование вспомогательного макроса COMBINE1. Если напрямую реализовать макрос COMBINE как #define COMBINE(a,b) a##b, то результатом подстановки COMBINE(IDelegate, SUFFIX) будет "IDelegateSUFFIX". А это совсем не то, что мы хотим получить. Поэтому использование COMBINE1 в данном случае необходимо.

Вопрос, почему компилятор не может сразу подставить вместо "SUFFIX" "5"?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2016, 15:53
Ответы с готовыми решениями:

Если макрос на VBA переписать на С++, то макрос станет работать быстрее?
Всем привет!) У меня есть макрос написанный в Екселе на VBA, если его переписать на С++ , то...

Pdf combine
Добрый день. pdf combine - программка устанавливается и работает несколько месяцев, после чего...

Delegate.Combine() не работает
Читаю Троелсена "C# 5.0 и платформа .NET 4.5" и дошел до делегатов. В главе "Включение группового...

Path.Combine и папка проги в WPF
Помогите переписать это под WPF из форм string sFileName = Path.Combine(Application.StartupPath,...

2
2548 / 1207 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
18.01.2016, 16:43 2
_stanislav, https://github.com/isocpp/CppC... nipulation
1
Evg
Эксперт CАвтор FAQ
21246 / 8261 / 637
Регистрация: 30.03.2009
Сообщений: 22,606
Записей в блоге: 30
18.01.2016, 18:26 3
https://www.cyberforum.ru/faq/... ost2356359
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2016, 18:26
Помогаю со студенческими работами здесь

MASM: improver align/combine type
Хочу скомпилировать програмуу из книги Абеля masm'ом из-под DOS'а, но получаю эту ошибку, точнее я...

Ошибка в цикле (in combine/ln) numeric exception: underflow
Конечная цель - вывести все значения S в цикле (можно ли выводить рациональные и натуральные...

Склейка массивов: реализуйте метод Combine, который возвращает массив, собранный из переданных массивов
Склейка массивов Реализуйте метод Combine, который возвращает массив, собранный из переданных...

Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос
Необходимо изменить ниже приведённый макрос, взятый с форума. Необходима помощь. Буду признателен....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru