почему классы ifstream и ofstream не принимают std :: string в качестве имен файлов?
Я видел несколько разумных аргументов для этого (а именно, это создаст зависимость потоков от строк), но, честно говоря, я считаю, что настоящая причина в том, что потоки намного старше стандартной библиотеки и ее строк.
Есть ли планы по обновлению STL?
Он называется C ++ 11 и будет новой версией стандарта. Я не знаю, изменились ли файловые потоки. Вы можете посмотреть окончательный проект и убедиться в этом сами.
Обратите внимание, что STL - это имя библиотеки контейнеров, алгоритмов и итераторов, включенной в стандартную библиотеку. Также частью стандартной библиотеки являются строки, потоки и др.
В частности, потоки не являются частью STL. Они братья и сестры.