Article View: be.comp.programming
Article #13407Re: C++, object: dynamische array.
From: Bart.Vanhauwaert
Date: Wed, 25 Jul 2001 00:05
Date: Wed, 25 Jul 2001 00:05
53 lines
3361 bytes
3361 bytes
SpaceRunner <xspacerunner@skynet.be> wrote: > Dat is inderdaad een mogelijkheid, alleen ik gebruik die templates niet Dat had ik vroeger ook. > zo graag. Ze maken alles veel te complex en ze generen soms teveel extra Complex? Ja, het is waar dat eens je de echt krachtige functor combinatoren en zo gaat gebruiken, het resultaat behoorlijk complex kan worden. Maar dat hoeft niet. Zolang je je beperkt tot de gewone containers, streams and string class is het toch redelijk eenvoudig me dunkt. Het argument van de zogenaamd veel code die gegenereerd wordt komt meer dan eens terug. Er zit dan ook een grond van waarheid in. Je moet wel weten dat moderne implementaties van de STL uiteraard al het mogelijke doen om die code-bloat te vermijden. Bijvoorbeeld als je enkel containers gebruikt met pointers erin, is er geen sprake van code bloat. In verschillende (toch wel relatief grote) projecten waar ik aan meewerk(te) w(o/e)rd de STL stevig gebruikt en code bloat is nooit een probleem geweest. > code. De templates waren beter als gewone libraries ge�mplementeerd. Dit > is wel mijn eigen ervaring ermee. Dat vind ik net niet. De templates zijn 1. type safe 2. ook van toepassing op basic types (int/double/..) en 3. veroorzaken geen enkel performantieverlies @ run time. Met gewone libraries (ik veronderstel dus dat je op de Java manier bedoeld) houdt men gewoon void pointers bij en haalt men heksen toeren om te casten uit. Dat is dus niet 1., niet 2. en ook geen 3. Alledrie de zaken vind ik persoonlijk alleen al de moeite waard! Bovendien blijkt vooral 1. zodanig probleem dat het in de Java wereld bijvoorbeeld een veelgebruikt idioom te zijn om zelf een IdentifierVector te gaan afleiden van java.lang.vector. Zoiets zou men waarschijnlijk ook in C++ doen indien de STL geen template library was. Gevolg -> weer code bloat, maar nu met de hand geschreven. > Nu ja, ik zie wel, als ik er niks anders op vind dan zullen we de STL > manier maar eens proberen. En tenslotte het allergrootste voordeel van de STL : Waarschijnlijk zitten er pakken minder bugs in dan in wat je zelf zou schrijven. Dat is het voordeel dat ik het meest apprecieer. Bovendien kan je door met STLPort te compileren het correcte gebruik van de STL gedeeltelijk controleren. cu bart -- http://www.irule.be/bvh/
Technical Details
Message-ID:
<0g2lj9.409.ln@10.0.0.2>Path:
arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!nerim.net!fr.clara.net!heighliner.fr.clara.net!news.tele.dk!195.238.2.15!skynet.be!louie!not-for-mailReferences:
<3B5D9479.7020106@skynet.be> <ndbkj9.78q.ln@10.0.0.2> <3B5DD472.3090601@skynet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,341bfcdb6a0f55c4
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-07-25 02:29:02 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!nerim.net!fr.clara.net!heighliner.fr.clara.net!news.tele.dk!195.238.2.15!skynet.be!louie!not-for-mail
Sender: - <bvh@ns1.irule.be>
From: Bart.Vanhauwaert@nowhere.be
Subject: Re: C++, object: dynamische array.
Newsgroups: be.comp.programming
References: <3B5D9479.7020106@skynet.be> <ndbkj9.78q.ln@10.0.0.2> <3B5DD472.3090601@skynet.be>
User-Agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (Linux/2.2.17-21mdksecure (i686))
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Date: Wed, 25 Jul 2001 02:05:20 +0200
Message-ID: <0g2lj9.409.ln@10.0.0.2>
Lines: 53
NNTP-Posting-Host: 194.78.202.248
X-Trace: 996053334 reader0.news.skynet.be 4382 194.78.202.248
X-Complaints-To: abuse@skynet.be