/** В #gcc есть возможность писать макросы, возвращающие значения: */ #define STR(WHAT) ({ std::stringstream e; e << WHAT; e.str(); }) /** Этот макрос получает строку, например: STR(33 << 44) получит строку "3344". В Visual Studio это было сделать нельзя. Благодаря стандарту c++11 сейчас можно написать макрос, который будет делать это же: */ #define STR(WHAT) ([]() -> std::string { std::stringstream e; e << WHAT; return e.str(); }()) /** Но с появлением variadic templates в c++11 вряд ли это уже будет нужно. */
среда, 21 августа 2013 г.
macros-function
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий