Zastosowania makrodefinicji
W języku C makrodefinicje miały duże zastosowanie ze względu na brak technik programowania za pomocą szablonów. Obecnie makrodefinicje stosuje się głownie do
- definiowania pustych nazw wykorzystywanych do sterowania pracą kompilatora
- definiowania stałych (w C++ niewskazane)
- unikania konieczności przepisywania jednakowo działających funkcji różniących się jedynie typem argumentów (w C++ niewskazane)
#define max(a,b) ( a>b ? a : b)
....
i=max(i,2);
x=max(x,3.14);
-
Język C++ proponuje lepsze metody definiowania stałych (const) i makrodefinicji z argumentami (template), więc w C++ użycie makrodefinicji powinno być ograniczone tylko do pierwszego przypadku.
- Wyjątkiem są makrodefinicje wykorzystujące zamianę argumentu na łańcuch i sklejanie identyfikatorów, które przydają się nie tylko w C, ale i w C++