Einzelnen Beitrag anzeigen

r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#4

Re: C++ nach Delphi

  Alt 27. Okt 2006, 20:18
Noch ne kleine Anmerkung:

Zitat von Sidorion:
Tja das sind sog. Templates, die gibbet in Delphi nich. Einfachste Lösung wäre jeweils ne Funktion zu definieren, die genau das macht, was jeweils in den Klammern steht und genauso heisst, wie das Template.
Das sind keine Templates, sondern Makros. Im Gegensatz zu Templates, die deutlich praktisch sein können, bringen Makros manchmal Probleme. Warum? Sie verhalten sich anders, als Funktionen, da sie vom Präprozessor behandelt werden, was manchmal doch etwas "verwirrend" sein kann. Ist dieses "verwirrende" Verhalten erwünscht, hat man mitunter Probleme mit dem Übersetzen...

Beispiel(ich hoffe ich mach das jetzt richtig. Hab mich bisher aus gutem Grund von Makros fern gehalten):
Code:
#define SQR(x) (x * x)

// ist nicht äquivalent zu:

int sqr(int x)
{
  return x * x;
}

// und zwar dann, wenn man folgendes macht:

y = sqr(1 + 2); // ist 9
y = SQR(1 + 2); // ist IMHO 5

// warum? der Präprozessor macht folgendes daraus:
y = 1 + 2 * 1 + 2;
So ein Verhalten lässt sich mit Funktionen (zum Glück) nicht nachbilden...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat