004
12.08.2004, 12:26 Uhr
Pablo
Supertux (Operator)
|
const sind wie wissender sagte schon Variablen, deren Wert nicht mehr geändert werden kann, aber sie sind fest, d.h. sie haben nur diesen Wert und das war's.
#define sind nur Ersatzstring, es kann beliebiger Code sein, eine Zahl, Variable, Text usw sein. Unter C sehr beliebt aber ich hab immer wieder gelesen, dass man unter C++ #define nicht benutzen (vielleicht kann ein CPPler mehr drüber sagen, ich weiß es nicht).
#define kann auch schief gehen und mächter Ärger vorbereiten, wenn man z.b. ein #define mit Code hat. Es kann sein, dass es Klammerung fehlt oder dass man den Code nicht mehr kompilieren kann.
C++: |
#include <stdio.h>
#define min(x,y) (x < y ? x : y) #define fib(x) (!x? 1 : fib(x-1) + fib(x-2))
int main() { printf("Min (3,5)=%d\n", min(3,5)); printf("fib(8)=%d\n", fib(8)); return 0; }
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 12.08.2004 um 16:14 Uhr von Pablo editiert. |