Re[3]: Макрос с переменныч числом параметров
От: Vamp Россия  
Дата: 24.09.03 11:29
Оценка: +1
А>Зло-то оно зло, только отказаться от них невозможно. Во всех библиотеках здоровенное количество макросов.
Можно не создавать новых, райт?
Да здравствует мыло душистое и веревка пушистая.
Макрос с переменныч числом параметров
От: Constructor  
Дата: 24.09.03 11:02
Оценка:
Здравствуйте!
Понадобилось мне написать макрос с переменныч числом параметров. Читаю Г.Шилдта, "Полный справочник по С"

... препроцессора является возможность обрабатывать макросы с переменным количестком аргументов. ... Встроенный препроцессорный идентификатор __VA_ARGS__ определяет, куда будут подставляться аргументы....

О чудо! Есть нужное мне средство!!! Но, увы, выясняется, что это изменения стандарта С99, а у меня — Vc98
Неужели нет решения для более ранней версии С?
Может, есть? Может, кто знает?

З.Ы. Только не советуйте, пожалуйста, поставить новую студию и писать на ней! Сейчас не могу еще.
Re: Макрос с переменныч числом параметров
От: Vamp Россия  
Дата: 24.09.03 11:04
Оценка:
А ты вообще откажись от макросов.
Макросы есть зло в чистом виде. Вот тут недавно пробегали мучения товарища, которому потребовалось в классе определить функцию, имя которой совпдает с именем WinAPI функции.
Да здравствует мыло душистое и веревка пушистая.
Re: Макрос с переменныч числом параметров
От: Аноним  
Дата: 24.09.03 11:05
Оценка:
В часто задаваемых вопросах было что-то про макросы с переменным числом параметров. Смотри там.
Re[2]: Макрос с переменныч числом параметров
От: Аноним  
Дата: 24.09.03 11:06
Оценка:
Зло-то оно зло, только отказаться от них невозможно. Во всех библиотеках здоровенное количество макросов.
Re[2]: Макрос с переменныч числом параметров
От: Constructor  
Дата: 24.09.03 11:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В часто задаваемых вопросах было что-то про макросы с переменным числом параметров. Смотри там.


Что-то я не понял, где эти вопросы? Ссылку можно?
Re[3]: Макрос с переменныч числом параметров
От: LaptevVV Россия  
Дата: 24.09.03 11:19
Оценка:
Здравствуйте, Constructor, Вы писали:

C>Здравствуйте, Аноним, Вы писали:


А>>В часто задаваемых вопросах было что-то про макросы с переменным числом параметров. Смотри там.


C>Что-то я не понял, где эти вопросы? Ссылку можно?

Заходишь в Статьи ->в С++ -> как задать переменное число параметров в #define.
А потом поиск запусти — найдешь.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Макрос с переменныч числом параметров
От: Constructor  
Дата: 24.09.03 11:34
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, Constructor, Вы писали:


C>>Здравствуйте, Аноним, Вы писали:


А>>>В часто задаваемых вопросах было что-то про макросы с переменным числом параметров. Смотри там.


C>>Что-то я не понял, где эти вопросы? Ссылку можно?

LVV>Заходишь в Статьи ->в С++ -> как задать переменное число параметров в #define.
LVV>А потом поиск запусти — найдешь.

Нашел!
Посмотрел... не то, что надо. Я хотел через макрос функцию определить. Вроде того:
#define SPECIAL_METHOD(type, name, <параметры функции>) \
    type name(<параметры функции>) { return GetSrvDispDriver()->name(<значения параметров>); };
Re[5]: Макрос с переменныч числом параметров
От: Vamp Россия  
Дата: 24.09.03 12:02
Оценка:
C>
C>#define SPECIAL_METHOD(type, name, <параметры функции>) \
C>    type name(<параметры функции>) { return GetSrvDispDriver()->name(<значения параметров>); };
C>

Откажись ты от этой идеи, пока не поздно...
Да здравствует мыло душистое и веревка пушистая.
Re: Макрос с переменныч числом параметров
От: jazzer Россия Skype: enerjazzer
Дата: 24.09.03 12:10
Оценка:
Здравствуйте, Constructor, Вы писали:

C>Здравствуйте!

C>Понадобилось мне написать макрос с переменныч числом параметров.

Эх, вот бы шаблоны с переменным числом параметров....
Такое чувство, что они решили бы большинство таких проблем....
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[6]: Макрос с переменныч числом параметров
От: Constructor  
Дата: 24.09.03 12:14
Оценка:
Здравствуйте, Vamp, Вы писали:

C>>
C>>#define SPECIAL_METHOD(type, name, <параметры функции>) \
C>>    type name(<параметры функции>) { return GetSrvDispDriver()->name(<значения параметров>); };
C>>

V>Откажись ты от этой идеи, пока не поздно...

Да читал я уже все Ваши рекомендации. Только что взамен Вы предложите?
Я вот что
Автор: Constructor
Дата: 19.09.03
хочу сделать. Слабо предложить решение?
Re[5]: Макрос с переменныч числом параметров
От: LaptevVV Россия  
Дата: 24.09.03 12:19
Оценка:
Здравствуйте, Constructor, Вы писали:

C>Нашел!

C>Посмотрел... не то, что надо. Я хотел через макрос функцию определить. Вроде того:
C>
C>#define SPECIAL_METHOD(type, name, <параметры функции>) \
C>    type name(<параметры функции>) { return GetSrvDispDriver()->name(<значения параметров>); };
C>

Не идея, но слабый свет в конце тоннеля: а если попробовать ВСЕ параметры функций как-то сделать ОДНИМ аргументом макроса. Тут жн текстовая замена идет: одно строка(имя параметра макроса) -> другая строка (параметры функции через запятую).
Помнится я на макроассемблере такое запросто делал.
Нельзя ли использовать операции # и ##?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.