Ganz ganz kurze Frage zu zwei Operatoren!
-
Was macht '?' und was macht '#' in defines?
-
Das Zeichen "#" ist ne Präprozessoranweisung; wird zb. beim "includen" von Headern verwendet.
#include irgendeineDatei.h
Das Fragezeichen kann ich dir nicht beantworten, in welchem Zusammenhang??
-
Du meinst sicherlich den ternären Operator?
a? b:c
Dies entspricht
if(a) b; else c;
Und ein # in einem define erzeugt eine konstante Zeichenkette, d.h. es setzt doppelte Anführungsstriche um den Namen,
z.B.#define STR(X) #X
Bei Aufruf von STR(Hallo) wird daraus dann "Hallo".
-
Th schrieb:
Du meinst sicherlich den ternären Operator?
a? b:c
Dies entspricht
if(a) b; else c;
Und ein # in einem define erzeugt eine konstante Zeichenkette, d.h. es setzt doppelte Anführungsstriche um den Namen,
z.B.#define STR(X) #X
Bei Aufruf von STR(Hallo) wird daraus dann "Hallo".
nicht ganz, das ? kann man in einer anweisung verwenden,
return 17+(b ? 8 : 3);
wenn du "#define fop 17" in deinem quelltext hast, dann wird jedes fop in denem quelltext vor dem kompilieren durch 17 ersetzt, kannst es ja mal ausprobieren, in dem du mit "g++ -E -o datei.ii datei.cpp" compilierst.