|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Kirill Frolov 2:5020/400 14 Jul 2005 16:31:49 To : Evgenij M. Baldin Subject : Re: Переменное число аргументов? --------------------------------------------------------------------------------
Thu Jul 14 2005 07:45, Evgenij M. Baldin wrote to Kirill Frolov:
KF>> А было бы интересно знать число переданных в функцию аргументов...
KF>> Может трюк какой придумать можно?
EMB> Hа сколько я понял - это невозможно. Только если договориться об
EMB> специальном окончании, например, последний аргумент 0, или
EMB> первый аргумент передаёт число аргументов. В этом смысле понятие
EMB> defined/!defined, которое есть в perl очень бы пригодилось.
Hу почему. Можно придумать указатель. То-есть в стек закладывать
не сами аргументы, а указатели на них. Указатель в NULL будет
последним. Hо тут возникает другая проблема: C позволяет так поступать
с переменными, но не позволяет поступать так с непосредственно заданными
значениями. Можно придумать макрос и в нём завернуть все значения
в переменные. Hо тут одна проблема: макрос тоже должен принимать
и произвольное число аргументов, и должен знать сколько их всего. :-(
--- ifmail v.2.15dev5.3
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/16679599b99d4.html, оценка из 5, голосов 10
|