il #define?

si può discure se usare #define o una variabile di tipo const, ma ci sono situazioni in cui il #define non è sostituibile, per esempio nella compilazione condizionale, dove si definisce una "costante" mediante #define e si usa #ifdef per verificare se compilare o meno un pezzo di codice. Caso tipico: per evitare di avere conflitti negli #include dei file di tipo .h