Article View: be.comp.programming
Article #4987Re: [C++] function overloading en typedef
From: Roel Schroeven
Date: Wed, 28 May 2003 13:32
Date: Wed, 28 May 2003 13:32
34 lines
2705 bytes
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-mailReferences:
<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