the ++ operator

V13 v13 at priest.com
Thu Nov 20 10:10:03 EET 2003


On Thursday 20 November 2003 01:27, Vasilis Vasaitis wrote:
> On Wed, Nov 19, 2003 at 11:40:00PM +0200, Giannis Vrentzos wrote:
>
> > Tom Diamond wrote:
> >
> > >Ρε παιδιά, τρέχω το παρακάτω:
>
> 
> ..[snip]..
> 
>
> > >  printf("%f\n", c);
> > >
> > >  c = 0.0; i = 0;
> > >  c += a[i]+b[i++] + a[i]+b[i];
> >
> >     ****** To i ^^^^ 8a ay3h8ei kata 1 meta to telos ths pros8eshs*****
> >     c = c   + a[0] + b[0] + a[0] + b[0]
> >     c = 0.0 + 0.1  + 4.1  + 0.1  + 4.1
> > 
> > Thn grammh ayth mporeis na thn kaneis c += a[i]+b[i]+a[++i]+b[i] kai 8a 
> > exeis to swsto apotelesma alla kalytera na apofygeis ayton ton tropo.
>
> 
>   Πωπω, είστε τελείως φονιάδες και οι δύο. Τέτοιες παραστάσεις σαν
> αυτές που γράφετε για το c += ... είναι τελείως άτοπες, γιατί πολύ
> απλά δεν υπάρχει καμία εγγύηση για τη σειρά με την οποία θα υπολογίσει
> ο compiler τα επιμέρους ορίσματα της πρόσθεσης. Δηλαδή, όταν γράφουμε:
> 
> 	c = a[i] + b[i++];
> 
> τότε ο compiler δεν υποχρεούται να υπολογίσει τα a[i] και b[i++] με
> κάποια συγκεκριμένη σειρά, οπότε στο a[i] μπορεί το i να έχει ήδη

Ektos kai an prokeitai gia C++ opote kai to:

a+=b[i]+c[i++]; einai to idio me to
a.operator+=((b.operator[](i)).operator+(c.operator[](i.operator++())));

Opote h seira me tin opoia tha ektelestoyn einai (sxedon) ksekathari...

> Vasilis Vasaitis
<<V13>>




More information about the Linux-greek-users mailing list