Gentoo Archives: gentoo-user-de

From: Jan Kohnert <nospam001-lists@×××××××××××××.org>
To: gentoo-user-de@l.g.o
Subject: Re: [gentoo-user-de] [OT] C++-Formalismus
Date: Fri, 05 Jan 2007 16:55:40
Message-Id: 200701051752.34280.nospam001-lists@jankoh.dyndns.org
In Reply to: [gentoo-user-de] [OT] C++-Formalismus by Eckard Brauer
1 Eckard Brauer schrieb:
2 > Gesundes neues Jahr allen!
3
4 Dir auch.
5
6 > int i = 0; // Initialisierung
7 > i = i++;
8 >
9 > Argumentation 1:
10 >
11 > Postinkrement hat Präzedenz 14, Zuweisung 2, folglich wird erst
12 > Postinkrement ausgeführt (Eval-Reihenfolge ist auch rechts->links
13 > angegeben), dann Zuweisung (auch logisch, ich hab ja sonst keinen Wert für
14 > die Zuweisung). i ist 0, wird kurzzeitig per Postinkrement 1,
15
16 Bis hierhin geh ich mit.
17
18 > da aber der
19 > Wert von i++, d.h. VOR Inkrementierung zugewiesen wird (0) wird's gleich
20 > wieder 0 gesetzt.
21
22 Aber was soll dass für eine Argumentation sein?
23
24 Wenn ich meinem C-Buch trauen darf (in der Hoffnung, das C++ da nicht extrem
25 anders ist), berechnest du das Inkrement und weißt dies im Anschluß der
26 Variable zu. Wie die heißt, und ob das in dem Falle dieselbe Variable (oder
27 auch Pointer, oder was auch immer), ist doch völlig wurscht. Also sollte doch
28 am Ende i=1 sein.
29
30 > Argumentation 2:
31 >
32 > i wird sich selbst zugewiesen (0) und dann zu 1 inkrementiert.
33
34 Das ist auch irgendwie Blödsinn (zumindest hört es sich so an). Die Zuweisung
35 hat doch niedrigere Priorität und wird tatsächlich später ausgeführt. Der
36 Schritt, wo i=0 zugewiesen wird, steht eine Zeile obendrüber. ;)
37
38 > ersteres macht z.B. die Sun-Java-VM so
39
40 Das klingt das nach einem Bug, zumindest, wenn dann am Ende wirklich Null
41 rauskommt. ;)
42
43 > Viele Grüße
44 > Eckard
45
46 --
47 MfG Jan
48
49 OpenPGP Fingerprint:
50 0E9B 4052 C661 5018 93C3 4E46 651A 7A28 4028 FF7A

Replies

Subject Author
Re: [gentoo-user-de] [OT] C++-Formalismus Jan Kohnert <nospam001-lists@×××××××××××××.org>