AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Negativ beispiel zum ansehn ;)

Ein Thema von Corpsman · begonnen am 24. Dez 2006 · letzter Beitrag vom 24. Dez 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 12:46
10? Das kann doch gar ned stimmen...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#12

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 12:47
@corpsman
was für nebeneffekte sollen denn auftreten???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#13

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 12:48
@3_of_8: Da ist Visual C# aber anderer Meinung.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#14

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 12:53
x += x++; sollte das gleiche sein wie

x += x;
x++;

gleich

x = x + x;
x = x +1;

10 = 5 + 5;
11 = 10 +1;

Ich habs im GCC probiert, kommt 11 und 12 raus. Es gibt aber unter den vielen Compilerswitches auch welche die diese Verhalten beeinflussen, und da wirds dann typisch C-doof

Zitat:
f() + x * g()
da sollte auch 7 rauskommen, auch wenn das Verhalten "undokumentiert" ist. Der Formalparser wird zuerst x * g() auflösen. Dabei gehen Funktionsaufrufe vor Variablen. D.h. also 1. g() dann 2. * x und 3. + f(), ergibt 7. Das sollte ebenfalls in jeder Borland PASCAL Version identische Resulate liefern, unabhängig von den Compilerswitches. Denoch ist es undokumentiert. Ein schlechter Stil ist es aber aus anderen Gründen. Wir programmieren indem wir saubere Schnittstellen/Black Boxes erzeugen. Da aber in diesem Beispiel Funktionsresulate und Modifikation globaler Variablen kombiniert werden, dh. funktion g() liefert im Grunde gleich 2 Resultate (Resulat und x+1) zurück. Das ist schlechter Programmierstil da die Modifikation von X nicht in der Schnittstelle zur Black Box g() sichtbar ist.
Das Beispiel sieht aber sehr konstruiert aus, ich habe bisher noch nie solchen Code im realen Einsatz gesehen.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 13:38
Zitat von Balu der Bär:
@3_of_8: Da ist Visual C# aber anderer Meinung.
Frei nach Daniel: "Es wird Zeit, dass wir C# mal zeigen, wer hier die Hosen an hat."
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#16

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 14:55
Zitat von Balu der Bär:
Zitat von negaH:
Code:
x = 5;
x += x++;
Sollte, bzw. muß 11 rauskommen.
Wieso? Unter C# erhalte ich 10 als Ergebnis, bei x += ++x erhalte ich 11.

*klick* for the answer

Frohe Weihnachten
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#17

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 15:38
@Andidreas

Du siehst hier gibt es jede menge Diskusionsgrundlage. Und es ist definitiv nicht Klar was nun rauskommen soll.

Das Problem an der sache ist das die Sprache C , bzw Pascal an diesen stellen nicht eindeutig definiert sind und je nach Compiler anders interpretiert wurden.

Da in den Gängigsten Tutorials in der Regel immer nur steht wie man dies und das macht, wollte ich euch eigentlich nur mal ein Beispiel zeigen wie ihr es bitte nicht machen sollt.

Übrigens gibt es Sehr viele bei denen das so ist.

Java, C, Pascal gehören definitiv auch dazu

Schöne Weihnacht noch.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#18

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 17:54
Zitat von JasonDX:
*klick* for the answer
Ah danke, dann ist ja alles klar.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 18:03
Eine Sprache, die so etwas zu lässt, gehört verboten. Ich bin froh, dass so etwas in Delphi nicht möglich ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#20

Re: Negativ beispiel zum ansehn ;)

  Alt 24. Dez 2006, 18:07
Wie war das, alles hat Vor- und Nachteile...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz