Обязан ли включать хедер (напрямую или косвенно)?
Надо ли включать хедер <ios> для std::ios_base, если уже включен хедер <fstream>?
Для хедера <iostream> в доках явно прописано, что <ios> включается. А для <fstream> -- нет.
Ответы (1 шт):
Автор решения: Fat-Zer
→ Ссылка
Надо ли включать хедер
<ios>дляstd::ios_base, если уже включен хедер<fstream>?
Не обязательно. std::fstream (точнее его шаблонная версия) является потомком std::ios_base, поэтому by-design любой файл, в котором будет определение std::fstream, должен (вероятно, опосредованно) включать и определение std::ios_base, хотя будет ли это именно файл с именем <ios>, вообще говоря, не гарантируется.