Diciamo che voglio avere diversi tipi di messaggi di output nel mio codice. Uno di questi è DEBUG
, che viene stampato solo quando il codice è compilato in modalità Debug.
Di solito dovrei scrivere qualcosa di simile
#ifdef DEBUG
std::cout << "Debug message" << std::endl;
#endif
che è piuttosto ingombrante e fastidioso da usare in molti posti.
È una buona pratica definire una macro per il frammento di codice, quindi la userai in questo modo?
MSG_DEBUG("Debug message")
O c'è un altro modo più elegante di gestirlo senza macro? Sono interessato alle possibili soluzioni sia in C che in C ++, poiché sto utilizzando entrambe le lingue in diversi progetti.