๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #4987

Re: [C++] function overloading en typedef

#4987
From: Roel Schroeven
Date: Wed, 28 May 2003 13:32
34 lines
2705 bytes
Dominique Devriese wrote:

> Roel Schroeven writes:
> 
>   Johan> GekleurdeInt( int i ); GekleurdeInt( Kleur k ); /* enz */ };
>   Johan> Dit werkt dus niet, aangezien int en Kleur voor de compiler
> 
>   Johan> van hetzelfde datatype zijn.  
>   >> het zgn. "Named Constructor Idiom" [1] kan hier mss helpen ?
> 
>   Roel> GekleurdeInt foo = GekleurdeInt::fromInt(123);
> 
>   Roel> Dat wil dan wel zeggen dat je bij elke initialisatie eerst een
>   Roel> object gaat aanmaken, en het dan kopi๏ฟฝren. Voor kleine klassen
>   Roel> niet erg, voor grotere zaken is dat wel lastig.
> 
> Je kan die static methodes inline maken, als je echt denkt dat dat een
> probleem is.

Dat helpt niet he: GekleurdeInt::fromInt(123) geeft een object als 
resultaat, inline of niet, en door foo = ... wordt heel dat object 
gekopieerd.

> Maar ik denk niet dat het kopieren van twee integers erg
> grote problemen gaat opleveren, tenzij je het enorm veel keer doet, en
> dan heb je andere problemen..

Dat is juist, als die klasse niet meer data bevat dan die twee ints zal 
het geen probleem zijn. Een oplossing die meer scalable is zou nog 
mooier zijn :)

-- 
"Codito ergo sum"
Roel Schroeven
Technical Details
Message-ID: <AT2Ba.24246$1u5.1895@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-08!supernews.com!38.144.126.76.MISMATCH!feed2.newsreader.com!newsreader.com!newshosting.com!news-xfer1.atl.newshosting.com!62.132.236.44.MISMATCH!ecngs!feeder.ecngs.de!193.190.198.58.MISMATCH!aotearoa.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <3ed4a249.0@news.ruca.ua.ac.be> <87el2jns51.fsf@student.kuleuven.ac.be> <aC2Ba.24224$1u5.1890@afrodite.telenet-ops.be> <874r3fnqqf.fsf@student.kuleuven.ac.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,3077f069a49c0aca
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-05-28 06:32:20 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-08!supernews.com!38.144.126.76.MISMATCH!feed2.newsreader.com!newsreader.com!newshosting.com!news-xfer1.atl.newshosting.com!62.132.236.44.MISMATCH!ecngs!feeder.ecngs.de!193.190.198.58.MISMATCH!aotearoa.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Roel Schroeven <j4nff5m02@sneakemail.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507
X-Accept-Language: nl-be, nl, en-us, en
MIME-Version: 1.0
Newsgroups: be.comp.programming
Subject: Re: [C++] function overloading en typedef
References: <3ed4a249.0@news.ruca.ua.ac.be> <87el2jns51.fsf@student.kuleuven.ac.be> <aC2Ba.24224$1u5.1890@afrodite.telenet-ops.be> <874r3fnqqf.fsf@student.kuleuven.ac.be>
In-Reply-To: <874r3fnqqf.fsf@student.kuleuven.ac.be>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 35
Message-ID: <AT2Ba.24246$1u5.1895@afrodite.telenet-ops.be>
Date: Wed, 28 May 2003 13:32:16 GMT
NNTP-Posting-Host: 213.119.50.245
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1054128736 213.119.50.245 (Wed, 28 May 2003 15:32:16 MET DST)
NNTP-Posting-Date: Wed, 28 May 2003 15:32:16 MET DST
Organization: Telenet Internet