Один базовый класс - std::ios::ios_base
, но все связанные с потоком классы являются шаблонами (что вызвало у меня много горя еще в 2001 году, когда я преобразовал какой-то действительно умный и стандартный код C ++). Это позволяет использовать потоки с char
, wchar_t
и любым другим типом, который кто-то хочет использовать в качестве символа. Не обязательно можно ссылаться на один базовый класс в C ++, так как язык имеет множественное наследование, и библиотека использует его, но похоже, что ios_base
в этом случае соответствует требованиям, хотя обеспечивает функциональность формата, а не ввод / вывод.
Я не знаю, как потоки .NET работают на низкоуровневой основе, но потоки C ++ довольно сложны под поверхностью.
Если то, что вы ищете, это что-то вроде MemoryStream
, мне кажется, что stringstream
может заполнить счет или, возможно, не рекомендуется strstream
(устарело, но все еще в последней версии C +) + 0x стандарта, который я видел), который IIRC позволяет вам присоединить поток к выбранной области памяти.