#define, ,
template<bool B>
void log(std::string message){}
template<>
void log<true>(std::string message){log_internal(message);}
#define DEBUG true
#define COMMUNICATION false
...
log<DEBUG>("this message will be logged");
log<COMMUNICATION>("this message won't");
#define , :
-
LOG(std::cout << "Here!" << endl);
. 2 - endl undefined . , , , ( , ) , ( ! :()
Edit
:
, , ( ). , . , inline .
, std::string const char *, , - .
, , , #define. - #define , , .