Преобразование параметров потока между C ++ и C ++ / CLI - PullRequest
0 голосов
/ 18 января 2019

У меня есть функция в C ++, которая принимает поток в качестве ввода:

std::ostream& operator<<(std::ostream &o, XObj x);

, который печатает x содержимое в o.

Я написал оболочку для класса XObj в C ++ / CLI, в которой есть функция для записи содержимого объекта в поток:

void XObj_wrapper::to_stream(System::IO::Stream ^s);

Функция-обертка создает std::stringstream, вызывает operator<<, описанный выше, чтобы заполнить поток строк, и, наконец, выводит содержимое потока строк в s. Это работает, но меня беспокоит скорость функции: она сбрасывает содержимое обернутого объекта в промежуточную структуру данных (поток строк) и затем выводит его в s.

У меня вопрос: можно ли это сделать эффективно, то есть без промежуточной структуры данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...