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

Поиск макроса, принимающего строку как параметр - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнение двух объектов через конструктор с одним аргументом http://www.cyberforum.ru/cpp-beginners/thread1246060.html
class Int { private: unsigned int integer; public: inline int get_int()const {return integer;} Int () : integer (0){} Int ( int c ) : integer(c){} };
C++ Сравнение класса наследника через конструктор с одним аргументом #include <iostream> using namespace std; //////////////////////////////// class Counter { protected: unsigned int count; public: Counter () : count (0){} Counter ( int c ) : count(c){} http://www.cyberforum.ru/cpp-beginners/thread1246056.html
Узнать позицию символа в строке string C++
Привет, как узнать индекс символа 'l' в строке string ? string s = "Hello";
Что означают эти конструкции? C++
Вот начал изучать cpp , до этого изучал несколько языков, таких как pawn,php и т.д. Вопросы: 1) Что означают такие конструкции как (тип данных)переменная. Типо: int test = 1; cout << (DWORD)test...
C++ Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей http://www.cyberforum.ru/cpp-beginners/thread1246027.html
Задача: создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей. Вернуть адрес наибольшей строки (Стивен Прата - "Язык программирования с++", 8...
C++ Считывание из файла в нужной кодировке Почему при считывание файла выдает кракозябры ? Содержимое файла: i love you char *text; ifstream read; read.open("read.txt"); while(read.eof()) { read >> text; ... подробнее

Показать сообщение отдельно
Alex5
1056 / 720 / 108
Регистрация: 12.04.2010
Сообщений: 1,847
23.08.2014, 15:39
Цитата Сообщение от Izual Посмотреть сообщение
как сделан данный метод, а именно почему STR(x) и #x не эквивалентны в случае если нашло.
Видимо, SHOW_DEFINE(WS_VISIBLE) преобразуется таким образом. Сначала будет подставлен WS_VISIBLE вместо x в определение SHOW_DEFINE(x)
C++
1
    strcmp(STR(WS_VISIBLE),"WS_VISIBLE")!=0?strcpy(buf,"WS_VISIBLE"):strcpy(buf,"NOT defined")
Теперь применяется макрос WS_VISIBLE (его значение 0x10000000L определено в winuser.h)
C++
1
    strcmp(STR(0x10000000L),"WS_VISIBLE")!=0?strcpy(buf,"WS_VISIBLE"):strcpy(buf,"NOT defined")
Теперь макрос STR(x). (Кстати, всё это ещё до начала компиляции.)
C++
1
2
    //   только теперь получается выражение, которое будет компилироваться 
    strcmp( "0x10000000L","WS_VISIBLE")!=0?strcpy(buf,"WS_VISIBLE"):strcpy(buf,"NOT defined")
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru