Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Evgenij M. Baldin                    2:5020/400     14 Jul 2005  07:45:29
 To : Kirill Frolov
 Subject : Re: Переменное число аргументов?
 -------------------------------------------------------------------------------- 
 
 Добрый день
 
 Kirill Frolov <Kirill.Frolov@p2.f827.n5030.z2.fidonet.org> wrote:
 
 KF> Hемедленно нажми на RESET, Artem Chuprina!
 
 KF> On Wed, 13 Jul 05 19:00:29 +0400, Artem Chuprina wrote:
 
  EMB>>> int function(int arg=10) {printf("%d\n",arg);}  
  EMB>>> чтобы можно было вызвать и как function(100) и просто function()
  EMB>>> что бы при этом arg по умолчанию был 10
  EMB>>>  Подобное вообще возможно? 
  AC>> В C - нет.  То есть позвать-то без аргументов возможно, и даже
  AC>> позовется, но значение 10 взять (читай: определить, с аргументом позвали
  AC>> или без) будет неоткуда.
 
 KF>   А было бы интересно знать число переданных в функцию аргументов...
 KF> Может трюк какой придумать можно?
 
 Hа сколько я понял - это невозможно. Только если договориться об 
 специальном окончании, например, последний аргумент 0, или
 первый аргумент передаёт число аргументов. В этом смысле понятие
 defined/!defined, которое есть в perl очень бы пригодилось.
 
 Придётся специальную функцию городить, точнее их семейство :( 
 
 С уважением
   Евгений
 i
 -- 
                   Budker Institute of Nuclear Physics
                      e-mail: E.M.Baldin(at)inp.nsk.su
              WWW: http://www.inp.nsk.su/~baldin
 --- ifmail v.2.15dev5.3
  * Origin: BINP, Novosibirsk, Russia (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Переменное число аргументов?   Evgenij M. Baldin   14 Jul 2005 07:45:29 
 Re: Переменное число аргументов?   Kirill Frolov   14 Jul 2005 16:31:49 
Архивное /ru.linux/8843ec690b1e.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional