Быстрый ответ: нет.
В ответ на другие ответы: Стандартная библиотека шаблонов предоставляет классы для потоковой передачи данных, но не предоставляет никаких высокоуровневых функций для преобразования данных в сериализованный двоичный формат иназад снова.
Операторы << и >> могут работать для классов, для которых явно написан код, поддерживающий их.Но это не близко к тому, что могут делать BinaryWriter и BinaryReader, а именно к потоковой передаче целых графов объектов с учетом циклических ссылок. В .NET все, что требуется, - это чтобы каждый из классов имел атрибут [Serializable]применяется к ним.
Если вы думаете о различиях между C ++ и C #, вы можете понять, почему не предоставляется полный двоичный форматировщик.Я могу подумать о следующих проблемах:
- C ++ не имеет возможности отражения C #.
- Поскольку C ++ не имеет управляемой памяти, было бы невозможно выполнить потоковую передачу графа объекта, принимаяна счет циркулярных ссылок.