🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #187

Re: Lijnen tellen van een project

#187
From: Stef
Date: Wed, 02 Feb 2005 10:02
72 lines
4417 bytes
In nl.comp.programmeren,
Sjoerd A. Schreuder <sa_schreuder@wanadoo.nl> wrote:
>Stef wrote:
>> In nl.comp.programmeren,
>> Sjoerd A. Schreuder <sa_schreuder@wanadoo.nl> wrote:
>> 
>>>Ik ken C99 niet goed genoeg, maar ik neem aan dat:
>>>  mytype_t *x = malloc(sizeof(mytype_t));
>>>nog steeds mogelijk is (anders te veel code oncompileerbaar).
>>>Maar dat betekent dat het returntype van malloc(), (void*) of (char*)
>>>of wat dan ook, zonder cast naar (mytype_t*) moet zijn om te zetten.
>> 
>> Ja, de cast is in C niet noodzakelijk en wordt o.h.a. afgeraden.
>> Belangrijkste argument is dat een vergeten "#include <stdlib.h>" met de
>> cast geen foutmelding geeft en zonder de cast juist wel. Doorzoek anders
>> comp.lang.c eens op "never cast the return value of malloc".
>
>Zinnig argument. Ik zal het onthouden als ik ooit in C moet programmeren.
>
>Mocht ik ooit in C gaan programmeren, dan gebruik ik wel een compiler
>die een warning geeft als ik een functie gebruik zonder voorafgaande
>declaratie. Ik weet dat C dat niet vereist(te), maar persoonlijk
>beschouw ik het wel als een bug.
>
De zinnigheid van het argument kun je idd in twijfel trekken. Algemene
strekking is dat een onnodige cast fouten kan verbergen. Veelal kun
je die alsnog zichtbaar maken door het warning level hoog genoeg te
zetten. Ander zinning argument (TM) is natuurlijk dat ik het niet mooi
vind. ;-)

>>>Als mijn aanname over C juist is, dan zit er dus wel degelijk een
>>>groot verschil tussen C en C++ op dit punt.
>> 
>> Klopt en C++ code zit dan ook vol met die ergerlijke casts.
>
>Ik weet niet wat voor C++ code jij gemiddeld onder ogen krijgt, maar
>een goed opgezet C++ programma heeft geen of slechts enkele casts nodig.
>
Goed, het statement was wat dik aangezet.

>In C++ code die ik van C++ experts zie, zitten ook geen casts.
>In C++ code die ik schrijf, zitten ook geen casts.
>
De C++ code die ik zie (= niet veel) is vaak geschreven door (ex) C
programmeurs. En dat geeft idd. een vervormd beeld van C++.

>Ik ben benieuwd wat voor casts jij tegenkomt. Het bovenstaande probleem
>rond malloc heb je niet in C++, want in C++ gebruik je geen malloc
>maar new of std::vector<>/std::list<>/...
>
Ja, zo zou het moeten, maar dat gebeurt niet overal.

> >  En ook C
>> code die door een C++ compiler gehaald wordt.
>
>In zulke programma's zullen inderdaad casts moeten zitten, b.v. bij
>elke malloc() (hetgeen niet erg is, omdat de "#include <stdlib.h>"
>in C++ verplicht is als je malloc() wilt gebruiken).
>
In de C code die ik van C experts zie zitten geen casts voor malloc.
In de C code die ik schrijf...

De aanwezigheid van casts voor malloc in een C programma duid er op
dat een C++ programmeur in C bezig is geweest en/of dat er een C++
compiler gebruikt is. ;-)

-- 
Stef    (remove caps, dashes and .invalid from e-mail address to reply by mail)

Fay: The British police force used to be run by men of integrity.
Truscott: That is a mistake which has been rectified.
		-- Joe Orton, "Loot"
Technical Details
Message-ID: <3fc4e$4200a53e$54f63171$24401@publishnet.news-service.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!news.zanker.org!feeder.enertel.nl!nntpfeed-01.ops.asmr-01.energis-idc.net!216.196.110.149.MISMATCH!border2.nntp.ams.giganews.com!nntp.giganews.com!feeder.news-service.com!post.news-service.com!publishnet.news-service.com!not-for-mail
References: <%XJId.2415$OZ2.252982@phobos.telenet-ops.be> <ct9k2f.4js.1@news.isolution.nl> <IAzIFp.1qJ@vulcan.xs4all.nl> <41fa3d30$0$96924$abc4f4c3@news.wanadoo.nl> <IB6JF0.2FL@vulcan.xs4all.nl> <y6CdnR8nao-u5GPcRVnyvA@casema.nl> <41fedd9a$0$30144$abc4f4c3@news.wanadoo.nl> <4e056$41ff477c$54f63171$2540@publishnet.news-service.com> <42001301$0$72797$1b2cd167@news.wanadoo.nl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 107324,ab34a8b99e320381
X-Google-Thread: fcea4,ab34a8b99e320381
X-Google-Attributes: gid107324,gidfcea4,public
X-Google-Language: DUTCH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!news.zanker.org!feeder.enertel.nl!nntpfeed-01.ops.asmr-01.energis-idc.net!216.196.110.149.MISMATCH!border2.nntp.ams.giganews.com!nntp.giganews.com!feeder.news-service.com!post.news-service.com!publishnet.news-service.com!not-for-mail
From: stef33d@yahooI-N-V-A-L-I-D.com.invalid (Stef)
Newsgroups: nl.comp.programmeren,be.comp.programming
Subject: Re: Lijnen tellen van een project
References: <%XJId.2415$OZ2.252982@phobos.telenet-ops.be> <ct9k2f.4js.1@news.isolution.nl> <IAzIFp.1qJ@vulcan.xs4all.nl> <41fa3d30$0$96924$abc4f4c3@news.wanadoo.nl> <IB6JF0.2FL@vulcan.xs4all.nl> <y6CdnR8nao-u5GPcRVnyvA@casema.nl> <41fedd9a$0$30144$abc4f4c3@news.wanadoo.nl> <4e056$41ff477c$54f63171$2540@publishnet.news-service.com> <42001301$0$72797$1b2cd167@news.wanadoo.nl>
Organization: None
User-Agent: slrn/0.9.6.4 (Linux)
Message-ID: <3fc4e$4200a53e$54f63171$24401@publishnet.news-service.com>
X-Complaints-To: abuse@news-service.com
Date: Wed, 02 Feb 2005 11:02:38 +0100
Lines: 72
NNTP-Posting-Host: 84.246.49.113 (84.246.49.113)
NNTP-Posting-Date: Wed, 02 Feb 2005 11:02:38 +0100
X-Trace: 3fc4e4200a53ef15394d424401