Это - то, как я действительно отлаживаю печать outs в C++. Определите 'dout' (отладка) как это:
#ifdef DEBUG
#define dout cout
#else
#define dout 0 && cout
#endif
В коде я использую 'dout' точно так же, как 'cout'.
dout << "in foobar with x= " << x << " and y= " << y << '\n';
, Если препроцессор заменяет 'dout' '0 & & суд' примечание это < < имеет более высокий приоритет, чем & & и оценка короткого замыкания & & заставляет целую строку оценить к 0. Так как этот 0 не используется, компилятор не генерирует кода вообще для той строки.
Это описано в статье MSDN под названием Регистрация приложения в протоколе URL
Что нужно знать, чтобы зарегистрировать приложение в протоколе URL:
http://msdn.microsoft.com/en-us/library/aa767914 (VS.85). aspx
Сообщает сведения о реестре и предоставляет образец кода.