Implementierungsabhängig?

Post Reply
Message
Author
bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Implementierungsabhängig?

#1 Post by bakunin »

Guten Morgen!

Ist das Verhalten von

foo = foo++;

eigentlich implementierungsabhängig?

Cheers,
Wolfgang

PS: Nicht dass ich solchen Code verwenden wollte, ist nur aus reinem Interesse :)

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Implementierungsabhängig?

#2 Post by hjb »

Hi,

ich vermute ja. Vielleicht ist es sogar vom Optimierungslevel abhängig. Allerdings bin ich kein Experte in solchen Grenzfragen.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Descartes

Re: Implementierungsabhängig?

#3 Post by Descartes »

Das Verhalten des Konstrukt
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
int i = 2;
i = i++;
</font><hr></pre></blockquote>
ist <b>undefiniert</b> und somit eine Sache des Compilers darauf geeignet zu reagieren.
Je nach Compilern hat i danach den Wert 2, bei anderen 3 und bei einigen gar 4.

Wenn ein Verhalten undefiniert ist, kann alles passieren -- von einem korrekten Verhalten bis zur Auslösung des dritten Weltkriegs (um Thomas König aus dem Gedächtnis zu zitieren).

Jochen

Re: Implementierungsabhängig?

#4 Post by Jochen »

Besser noch: Es kann nicht nur alles passieren, es <i>darf</i> sogar alles passieren. Wenn der Compiler abstürzt oder Programm an dieser Stelle, ist der Programmierer schuld, nicht der Compilerschreiber!

Post Reply