05.11.2013 Aufrufe

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Vergleich</strong> <strong>von</strong> <strong>Delphi</strong> <strong>und</strong> <strong>Visual</strong> <strong>C++</strong> - Kapitel 2A<br />

Gleichheit<br />

==<br />

=<br />

boolean IsEqual;<br />

IsEqual= 4 == 8; // FALSE<br />

var IsEqual: Boolean;<br />

IsEqual:= 4 = 8; // FALSE<br />

Anmerkung:<br />

unsigned short i;<br />

i = 4;<br />

=<br />

Der Zuweisungsoperator <strong>und</strong> der Operator zur<br />

Prüfung auf Gleichheit wurden bereits in der Sprache<br />

C vielfach kritisiert. Allzuleicht wird statt einer<br />

gewünschten Gleichheits-prüfung unbeabsichtigt eine<br />

Zuweisung durchgeführt:<br />

var i: Word;<br />

i := 4;<br />

:=<br />

void main()<br />

{<br />

int a = 3; // a ist 3<br />

if (a = 4)<br />

printf("a ist 4");<br />

else<br />

printf("a nicht 4");<br />

}<br />

Ausgabe: a ist 4<br />

Zuweisungsoperator<br />

Erweiterte<br />

Zuweisungsoperatoren<br />

Der else-Zweig wird nie durchlaufen werden. Bei if (a<br />

= 4) wird nicht a geprüft, sondern a wird der Wert 4<br />

zugewiesen <strong>und</strong> der Erfolg dieser Zuweisung geprüft.<br />

Der verläuft natürlich immer erfolgreich <strong>und</strong> liefert<br />

also TRUE. Der Compiler kann solch einen Fehler<br />

nicht aufdecken, weil es kein syntaktischer oder<br />

semantischer, sondern ein logischer Fehler ist.<br />

=<br />

entspricht<br />

=<br />

<br />

sofern keine Seiteneffekte auftreten, wie z.B.<br />

beiv[i++] *= 5;<br />

keine erweiterten<br />

Zuweisungsoperatoren<br />

Statt dessen können die, sowieso besser lesbaren,<br />

normalen Operatoren angewendet werden.<br />

http://ourworld.compuserve.com/homepages/praxisservice/kapit2a.htm (13 of 24) [19.05.2000 15:30:03]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!