#define
jest dyrektywa preprocesora odziedziczone C, która przybiera formę
#define identifier value
W ogóle, to jest używane do przekazania preprocesor zastąpić wszystkie wystąpienia identifier
w kodzie z danym tekstem przed przekazaniem go na do kompilatora. Identyfikatory można również definiować bez wartości, które mają być używane jako flagi kompilatora, aby zapobiec wielu definicjom tych samych zmiennych lub rozgałęziać się na szczegółach maszyny, które nie ulegną zmianie podczas wykonywania. Na przykład, aby przejść inny kod kompilator oparty na architekturze procesora można zrobić coś takiego:
#ifdef INTEL86
//some 32-bit code
#else
//some 64-bit code
#endif
Podczas przypisywania wartości w tych definicjach, to często dobry pomysł, aby otoczyć wartość z nawiasami, tak zachować je jako jedną całość, niezależnie od kontekstu, że istnieje w
Przykładowo #define FOO 3 + 7
ma inny wynik niż #define FOO (3 + 7)
w wyniku następnej linii, z powodu kolejności operacji arytmetycznych.
a = 3 * FOO
Zobacz this link więcej szczegółów dotyczących dyrektyw preprocesora w ogóle lub this link do informacji bardziej skoncentrowane na Objective C
Jest to preprocesor zastępujący. Kompilator nie zobaczy żadnych #defines. – codaddict
Tak, wróć, kiedy (może jeszcze dzisiaj) preprocessing został wykonany przez oddzielne niezależne narzędzie. – seand
dziękuję za całą odpowiedź. i chcę zapytać, jaki jest typ danych tych 3 elementów? – Questions