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

Хак препроцессора, объясните как работает - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задано массив строк произвольной длины. Отформатировать данный массив по ширине поля. http://www.cyberforum.ru/cpp-beginners/thread1090322.html
Задано массив строк произвольной длины. Отформатировать данный массив по ширине поля.
C++ Умные указатели Пишу класс дерево поиска:template<typename T, typename Compare> class AvlTree { private: struct Node { T key; size_t height; std::unique_ptr<Node> leftChild; std::unique_ptr<Node> rightChild; explicit Node(const T &key) : key(key), height(1), leftChild(nullptr), http://www.cyberforum.ru/cpp-beginners/thread1090290.html
Определите по данным, сколько банок не прострелил Гарри и сколько банок не прострелил Ларри. C++
Бандиты Гарри и Ларри отдыхали на природе. Решив пострелять, они выставили на бревно несколько банок из-под кока-колы (не больше 10). Гарри начал простреливать банки по порядку, начиная с самой левой, Ларри — с самой правой. В какой-то момент получилось так, что они одновременно прострелили одну и ту же последнюю банку. Гарри возмутился и сказал, что Ларри должен ему кучу денег за то, что тот...
C++ Перевести код из языка Pascal в C++
Помогите пожалуйста перевести код программы из языка Pascal в C++. А то у меня не совсем нормально получается. program pas; const N = 10; var i, t, k, G: integer;
C++ Написать функцию вычисления знака числа http://www.cyberforum.ru/cpp-beginners/thread1090266.html
Здравствуйте! Прошу прощения за глупый вопрос, мог бы спросить и у препода, но ждать долго, а сдать хочу досрочно) Задание прикрепил ниже. Насколько я понял, речь идет о первом знаке после запятой. Но что это за условие под фигурной скобкой?
C++ Изменить программу таким образом, чтобы ввод исходных данных осуществлялся из файла Изменить программу,я её закинул архивом , таким образом чтобы ввод исходных данных осуществлялся из файла, результат также должен выводиться в файл. #include <stdio.h> #include <conio.h> #include <stdio.h> #include <conio.h> #include <vcl.h> #include <iostream.h> #pragma hdrstop //--------------------------------------------------------------------------- подробнее

Показать сообщение отдельно
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
05.02.2014, 23:46     Хак препроцессора, объясните как работает
Уже кучу времени сижу как баран и питаюсь понять, как же это работает:
C++
1
2
3
4
5
6
7
8
9
10
11
#define BOOK_PP_CAT_IMPL(a, b) a ## b
#define BOOK_PP_CAT(a, b) BOOK_PP_CAT_IMPL(a, b)
#define BOOK_ID(identifier) BOOK_PP_CAT(auroraDetail_, identifier)
#define BOOK_LINE_ID(identifier) BOOK_PP_CAT(BOOK_ID(identifier), __LINE__)
 
#define FOREACH(declaration, container)                                                                                                         \
    if (bool BOOK_LINE_ID(broken) = false) {} else                                                                                              \
    for (auto BOOK_LINE_ID(itr) = (container).begin(); BOOK_LINE_ID(itr) != (container).end() && !BOOK_LINE_ID(broken); ++BOOK_LINE_ID(itr))    \
    if (bool BOOK_LINE_ID(passed) = false) {} else                                                                                              \
    if (BOOK_LINE_ID(broken) = true, false) {} else                                                                                             \
    for (declaration = *BOOK_LINE_ID(itr); !BOOK_LINE_ID(passed); BOOK_LINE_ID(passed) = true, BOOK_LINE_ID(broken) = false)
Объясните, во что будет разворачиваться такой макрос и как он работает

Добавлено через 28 минут
uP....
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru