Конвертировать собственный буфер в MemoryStream - PullRequest
4 голосов
/ 04 ноября 2010

В моем C ++ \ CLI у меня есть этот фрагмент кода:

array<Byte>^ out_buf = gcnew array<Byte>(stream_size);
Marshal::Copy(IntPtr(buf), out_buf, 0, Int32(stream_size)); 
System::IO::MemoryStream^ stream = gcnew MemoryStream(out_buf);

в MemoryStream(out_buf), поток памяти снова выделяет память или просто становится владельцем out_buf?

если MemoryStream снова выделяет память, есть ли способ преобразовать собственный буфер в MemoryStream?

Ответы [ 2 ]

3 голосов
/ 04 ноября 2010

Это позволяет обрабатывать out_buf (то есть он не выделяет новый буфер) как поток, поэтому вам не о чем беспокоиться о выделении другого буфера.

2 голосов
/ 04 ноября 2010

MemoryStream (out_buf) не выделяет память и не становится владельцем.GC очистит его.

...