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