- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
#include <iostream>
enum Quiet { LOG };
template<typename T>
Quiet operator <<(Quiet o, T) {
return o;
}
static inline Quiet operator <<(Quiet o, std::ostream &(*)(std::ostream &)) {
return o;
}
int main() {
LOG << "Hello world!" << std::endl;
return 0;
}
тогда даже исполняться будет быстрее, т.к. компилятор тупо выбросит невыполняющуюся ветвь где foo - да хоть std::cout