|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
Имя парамтера макроса24.10.2013, 09:22. Показов 2875. Ответов 12
Метки нет (Все метки)
Есть функция, её вызов надо так завернуть в макрос, чтоб в один из параметров функции передавать имя параметра макроса. Как написать макрос, подставляющий имя своего параметра?
0
|
|
| 24.10.2013, 09:22 | |
|
Ответы с готовыми решениями:
12
Имя макроса через переменную Результатом выражения не является имя макроса, и т.д. ? Синтаксис: точка в теле макроса struc и звёздочка в описании параметров макроса |
|
|
|
| 24.10.2013, 09:54 | |
|
значок #. Удобно когда нужно видеть имя. Я использую его для вызова опенгл-функций из видеодрайвера
1
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 24.10.2013, 10:33 [ТС] | |
|
А что, макрос может принимать параметром функцию? А он сможет подставить её прототип, или только имя?
0
|
|
|
|
|
| 24.10.2013, 10:38 | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 24.10.2013, 10:41 [ТС] | |
|
А есть макрос прототипа функции, в которой он вызван? __FILE__ подставляет путь к файлу, в котором находится строка, в которой применён макрос.
__LINE__ номер строки, в которой применён макрос. А есть что то подобное для прототипа функции, в которой находится строка, в которой применён макрос?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 24.10.2013, 10:44 | ||||||
|
programina, Что это за синтаксис вообще? оО
А так макрос может принимать и функцию и другой макрос и прочее-прочее-прочее.
1
|
||||||
|
|
|
| 24.10.2013, 10:55 | |
|
ForEveR, места перепутала, надо вот так:
C++ #include <iostream> using namespace std; #define HELLO cout << "hello" << endl; int main() { HELLO return 0; }
0
|
|
|
Диванный эксперт
|
|||||||||||
| 24.10.2013, 11:42 | |||||||||||
|
Небольшой изврат с макросами
1
|
|||||||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 24.10.2013, 12:11 [ТС] | |
|
Получается только имя. А мне бы весь прототип.
0
|
|
|
|
|
| 24.10.2013, 12:26 | |
|
Cra3y, почти всё уже украдено до нас. Разница только в отсутствии имён параметров (что никоим боком не критично):
C++ #include <iostream> int main (int argc, char **argv) { std::cout<<"__PRETTY_FUNCTION__ = "<<__PRETTY_FUNCTION__<<std::endl <<"__FUNCTION__ = "<<__FUNCTION__<<std::endl; return 0; } Code $ g++ t.cc $ ./a.out __PRETTY_FUNCTION__ = int main(int, char**) __FUNCTION__ = main Добавлено через 3 минуты Но нужно понимать, что __PRETTY_FUNCTION__ - это расширение g++ (вроде бы как)
1
|
|
| 24.10.2013, 12:26 | |
|
Помогаю со студенческими работами здесь
13
Запуск макроса из макроса ИЛИ повторение одного и того же кода Вызов макроса из макроса, расположенного в другом файле Как в билдере получить с сервера (MySQL 5.1, имя базы "skola", имя table "info") имя столбцов и имя строк Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого католога Вызов макроса в теле другого макроса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|