Пример: я вызываю «Output(str)», чтобы отправить что-то на терминал. Я добавил метод, который выводит данные только при отладке, следующим образом. Теперь мне остается задаться вопросом, приведет ли это к бессмысленным пустым вызовам методов, когда НЕ отладка, и должен ли я действовать по-другому.
Код: Выделить всё
bool OutputNewline = true;
void Output(std::string str, bool newLine = true)
{
if (!OutputNewline)
{
putchar('\n');
OutputNewline = true;
}
if (str.length() == 0) { return; }
fputs(str.c_str(), stdout);
fflush(stdout);
OutputNewline = (str[str.length()-1] == '\n');
}
void OutputDebug(std::string str, bool newLine = true)
{
#if defined(DEBUG) && DEBUG == true
Output(str, newLine);
#endif
}
g++ 12.2.0
Debian GNU/Linux 12 (книжный червь)
Подробнее здесь: https://stackoverflow.com/questions/790 ... thod-calls