Pourquoi `std :: basic_ios` a un constructeur public?

std::basic_iosa un constructeur public : explicit basic_ios (std::basic_streambuf<CharT,Traits>* sb); OMI, la seule raison pour laquelle une classe a un constructeur public est d'utiliser une instance autonome de cette classe dans un programme. Si une classe existe uniquement pour que...