C++ 字节*到内存流的转换

C++ 字节*到内存流的转换,c++,.net,command-line-interface,C++,.net,Command Line Interface,我不熟悉.NET编程范式。我面临一个问题 我有一个用.NET编写的CLI库,MFC项目使用它 我使用malloc分配了一个内存缓冲区 字节*lData=(字节*)malloc(lLen) 我将此缓冲区传递给CLI库。在CLI中,我需要将其转换为MemoryStream 现在,我首先需要将lData转换为数组,然后将该数组设置为MemoryStream 问题是,当我将lData转换为字节数组时,它将再次分配相同数量的内存 将此设置为memoryStream时,它是否也会分配相同的内存量 如果是,那

我不熟悉.NET编程范式。我面临一个问题

我有一个用.NET编写的CLI库,MFC项目使用它

我使用malloc分配了一个内存缓冲区

字节*lData=(字节*)malloc(lLen)

我将此缓冲区传递给CLI库。在CLI中,我需要将其转换为MemoryStream

现在,我首先需要将lData转换为数组,然后将该数组设置为MemoryStream

问题是,当我将lData转换为字节数组时,它将再次分配相同数量的内存

将此设置为memoryStream时,它是否也会分配相同的内存量


如果是,那么有没有办法避免这三次内存分配?

看看UnmanagedMemoryStream。创建UnmanagedMemoryStream(lData)后感谢@Spook;我可以释放lData吗?或者当这个内存流的对象将被破坏时,它将被释放。这个类的documentation是怎么说的@从文档和给定的示例代码来看,这个块似乎不会由UnmanagedMemoryStream类释放。用户需要明确地发布这个数据库@Spook。这正是我需要的。