🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #12440

Re: C decrement / increment

#12440
From: Bart.Vanhauwaert
Date: Sat, 10 Nov 2001 09:41
53 lines
2236 bytes
[EdGe] <olx09654@online.be> wrote:
> Huidige vorm is:
> c[x] = e;
> if (...) c[x] = getal;
> x++;
> Wat niet bij snelle code reviews de indruk wekt dat x 2* opgehoogd
> wordt.

Inderdaad, bij snelle code review word x maar 1 keer opgehoogd.

Ik zou bovengaande code zo schrijven

c[x++] = (...)?getal:e;

Maar ik veronderstel dat je eigenlijk 
c[x++] = e;
if (...) { c[--x] = getal; x++ }

bedoelde?

> In principe zou het ook correct zijn als pre-decrement en
> post-increment samen gebruikt kunnen worden, maar mijn compiler
> vertikt dat.  Omdat de uitzondering zelden voorkomt, zou dat in zeer
> snelle code geresulteerd kunnen hebben:

Je compiler heeft gelijk. Lees de uitleg over lvalue/rvalue in deze
thread.

> if(...) c[--x++] =getal;

> Dit kan natuurlijk ook:
> if (...)
> {
>   x--;
>   c[x++] = getal;
> }
> Maar het geeft veel accolades voor weinig code.  Persoonlijk vind ik
> de --x++ vorm veel logischer.

Persoonlijk lijkt mij c[x-1] = getal het meest logische.

> In principe lijkt de --x++ correct vertaalbaar: vooraf je index terug
> verlagen, waarde aanpassen en index terug verhogen.  Ik verlies tijd
> bij TRUE, maar wn er bij FALSE, in 99% van de mogelijkheden.

Heb je al geprobeerd om deze win/loss te meten. Ik durf er voor wedden
dat je geen verschil zal merken. Bovendien is je uitleg wat verward,
ik kan je niet zo goed volgen.

cu bart

-- 
http://www.irule.be/bvh/
Technical Details
Message-ID: <mnsis9.oht.ln@10.0.0.2>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!skynet.be!skynet.be!louie!not-for-mail
References: <3beb3ad1.46039351@news.pandora.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,d5a3535abd40b2f0
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-11-11 02:35:45 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!skynet.be!skynet.be!louie!not-for-mail
Sender: - <bvh@ns1.irule.be>
From: Bart.Vanhauwaert@nowhere.be
Subject: Re: C decrement / increment
Newsgroups: be.comp.programming
References: <3beb3ad1.46039351@news.pandora.be>
User-Agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (Linux/2.2.17-21mdksecure (i686))
Date: Sat, 10 Nov 2001 10:41:10 +0100
Message-ID: <mnsis9.oht.ln@10.0.0.2>
Lines: 53
NNTP-Posting-Host: 194.78.202.248
X-Trace: 1005474940 reader0.news.skynet.be 21086 194.78.202.248
X-Complaints-To: abuse@skynet.be