Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
_stanislav
12 / 61 / 22
Регистрация: 16.08.2014
Сообщений: 408
Завершенные тесты: 2
#1

макрос COMBINE - C++

18.01.2016, 15:53. Просмотров 154. Ответов 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"?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2016, 15:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос макрос COMBINE (C++):

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

Макрос - C++
Как в макросе интовское число разделить на число с запятой?

Макрос на с++ - C++
Здравствуйте, надо разработать макрос type(x,y) который объявляет x как некий тип с именем y.

Макрос TRACE - C++
Здорова! Часто вижу в коде TRACE, но что то ничего не пойму что он делает, вот есть код: #include <iostream> using std::cout; ...

Макрос DPrint - C++
С предыдущим я заданием я уже разобрался, а вот со следующим: "Напишите макрос DPrint , проверяющий наличие режима отладки, и если режим...

Макрос MyAssert - C++
Всем привет! Снова обращаюсь к вам за помощью. Задание такое: "Напишите макрос MyAssert, который выводит сообщение об ошибке, имя файла...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rikimaru2013
C++ Game Dev
2429 / 1123 / 240
Регистрация: 30.11.2013
Сообщений: 3,673
18.01.2016, 16:43 #2
_stanislav, https://github.com/isocpp/CppCoreGui...t-manipulation
Evg
Эксперт CАвтор FAQ
17626 / 5850 / 376
Регистрация: 30.03.2009
Сообщений: 16,133
Записей в блоге: 26
18.01.2016, 18:26 #3
http://www.cyberforum.ru/faq/thread5...ml#post2356359
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2016, 18:26
Привет! Вот еще темы с ответами:

Таинственный макрос - C++
Здравствуйте, в исходники nginx (веб-сервер) есть такой макрос: int ngx_cdecl main(int argc, char *const *argv) { //...некий...

Сложный макрос - C++
В книге была задача, написать макрос, определяющий массив типа Type, который называется Name, имеет Number элементов, и все элементы...

Не работает макрос - C++
в лабораторной работе у меня надо написать макрос: создать макроопределение (некий PRINT_TYPE) в зависимости от которого новосозданная...

Реализуйте макрос - C++
Реализуйте макрос MAX от трёх параметров, который присваивает целочисленной (int) переменной, переданной в качестве третьего аргумента,...


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

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

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