Большинство проектов, вероятно, будут использовать некоторую форму регистрации или утверждений. Хотя std :: cout и утверждать Используйте свое использование, наступает точка, когда использование центральной системы становится необходимым. Проблема возникает, когда у вас есть несколько библиотек, std :: cout < /code> доступна для всех них и всегда будет писать в одном и том же месте, но как я могу поделиться центральным менеджером журнала (или другими менеджерами) между ними. < /P>
[*] Наивные решения могут быстро привести к тому, что можно было бы быстро привести к тому, чтобы сохранить порядок инициализации. Тогда вы не можете больше самостоятельно выполнять исполняемые файлы
Можно добавить обработчика к каждую функцию и класс , это было бы кошмаром для существующего кода и усложнить чтение нового кода, так как вам придется пропустить «глобальные» аргументы при чтении функции. Полностью общий, смешанный и на всех платформах)?
Подробнее здесь: https://stackoverflow.com/questions/797 ... hared-stat