Итак, у меня есть программа на C ++, которая обычно при выполнении записывает данные в файл журнала. Это делается с помощью fstream. Однако теперь я хочу включить функциональность, чтобы отключить ведение журнала. По сути, мой код выглядит так:
bool isLogging;
fstream* logFilePtr;
во всем моем коде есть несколько операторов вроде:
(*logFilePtr) << " Kernel call time in seconds: " << kTime << endl;
...
Теперь, если "isLogging" истинно, я не хочу, чтобы они печатались. Я мог бы просто окружить их кучей утверждений if, но я бы предпочел что-то более чистое, чем это. Я подумал, что есть какой-то способ взять поток C ++ и перенаправить его так, чтобы он указывал на «ничто», чтобы при использовании оператора << ничего не печаталось. </p>
Кто-нибудь знает, как перенаправить поток, или есть какие-то идеи о том, как с этим справиться элегантно?
Спасибо,
Colin