Существует несколько критических замечаний по поводу стандартной потоковой системы, в первую очередь за то, что она обычно не так производительна, как система C, и что они не позволяют изменять порядок форматируемых элементов, что может усложнить локализацию.
Лично я использую потоки практически для всего, потому что они позволяют мне записывать функцию в консоль, файл или строку без необходимости изменять функцию.
Там, где я работаю, мы используем форматирование в стиле printf
. Это связано с тем, что мы часто использовали класс MFC CString
и его метод printf
в стиле Format
. Мы постепенно отказались от MFC, но не изменили наш подход к форматированию строк.
Что касается того, какой из них спроектирован лучше, см. Кто спроектировал / спроектировал IOStreams C++, и будет ли он по-прежнему считаться хорошо спроектированным по сегодняшним стандартам?
Я предполагаю, что printf используется более широко, потому что