Article View: comp.std.c++
Article #884Variable arguments (Was Re: type/member tags
From: Ari Juhani Huttunen
Date: Sat, 02 Mar 1991 13:44
Date: Sat, 02 Mar 1991 13:44
31 lines
1983 bytes
1983 bytes
Suppose I want to write a function that takes as its arguments any number
of integers and returns the largest of these integers. This can be implemented
using constructs already found in the language. IF you a) tell the function
as the first argument how many integers you will supply to it or b) as the
last argument you give a predefined constant that means there are no more
arguments. This is error prone, I think.
The problem is that C++ doesn't give any means to check how many arguments
were supplied or their types.
If typeof() would be added to C++, the problem could perhaps be solved
this way:
int max(int x1 ...) {
va_list argp;
va_start(argp, x1);
while(typeof(*argp) == int) {
int x2 = va_arg(argp, int);
if(x2>x1) x1=x2;
}
va_end(argp);
return x1;
}
When there are no more arguments, typeof(*argp) == void.
--
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
I I__I I__I I__I I__I I__I I__I I__I I__I I__I I__I I__I I__I I__I I__I I__I I_
Ari Huttunen A computer is like a house of cards. Not as reliable,
but it has an equal number of incompatible parts.
_______________________________________________________________________________
Technical Details
Message-ID:
<AHUTTUNE.91Mar2144431@silver-surfer.hut.fi>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!news.funet.fi!funic!santra!santra!ahuttuneReferences:
<DSOUZA.91Feb24173454@optima.cad.mcc.com> <27C95D3A.1715@tct.uucp> <1991Feb27.154311.782@csc.ti.com> <27CD159D.6581@tct.uucp>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!news.funet.fi!funic!santra!santra!ahuttune From: ahuttune@niksula.hut.fi (Ari Juhani Huttunen) Newsgroups: comp.std.c++ Subject: Variable arguments (Was Re: type/member tags Message-ID: <AHUTTUNE.91Mar2144431@silver-surfer.hut.fi> Date: 2 Mar 91 13:44:31 GMT References: <DSOUZA.91Feb24173454@optima.cad.mcc.com> <27C95D3A.1715@tct.uucp> <1991Feb27.154311.782@csc.ti.com> <27CD159D.6581@tct.uucp> Sender: news@santra.uucp (Cnews - USENET news system) Organization: Helsinki University of Technology, Finland Lines: 31 In-Reply-To: chip@tct.uucp's message of 28 Feb 91 14:37:17 GMT