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

макрос COMBINE - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как найти проверку на запрещенные файлы? http://www.cyberforum.ru/cpp-beginners/thread1641675.html
Ребят вообщем проверка такая, кто может помочь найти проверку на запрет файлы в папке? Суть такова, делаю мод к игре, покажу пример защиты в игре, Игра/Мультиплеер, в папке Мультиплеер стоит защита или сканер, Еси создать ярлык myltiplayer.exe Ярлык то игра не запуститься, выбивает Error/Myltiplayer.exe лишний файл удалите его! и поэтому в папку мод не установить, кто может помочь? напишите...
C++ Зачем нужен iterator, если можно обойтись без него? Почему нужен итератор(iterator) если этот код #include <iostream> #include <vector> #include<iterator> using namespace std; int main() { vector<int> the_vector; http://www.cyberforum.ru/cpp-beginners/thread1641672.html
C++ Реализовать класс для работы с системой мер
Помогите пожалуйста реализовать класс для работы с американской системой массы
Заполнить массив, членами натурального ряда, кратным трем. Найти сумму элементов массива и их число. C++
Заполнить массив А(N) членами натурального ряда, кратным трем (3, 6, 9...) до тех пор пока их произведение не станет больше произвольного числа М. Найти сумму элементов массива и их число.
C++ Определить среднюю плотность населения по области в целом http://www.cyberforum.ru/cpp-beginners/thread1641659.html
. В области n районов. Известны количество жителей (в тыс. чел.) и площадь (в км2) каждого района. Определить среднюю плотность населения по области в целом.
C++ Зачем для указателя на объект класса создается отдельный класс Читаю книгу Джефа Элджера "Библиотека программиста С++", там в главе про умные указатели приводится пример, где для указателя на класс создается отдельный класс, так сказать инкапсулирующий этот указатель. Я только начал изучать умные указатели, можете объяснить, для чего нужно оборачивать указатель в отдельный класс. class Foo { public: ... private: ... }; подробнее

Показать сообщение отдельно
_stanislav
26 / 26 / 8
Регистрация: 16.08.2014
Сообщений: 246
Завершенные тесты: 2
18.01.2016, 15:53     макрос COMBINE
Доброго времени суток. Дан код:

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"?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru