我想对托管字符串使用共享指针,但我无法弄清楚语法。要创建共享指针,我需要一个分配器来调用Marshal::StringToHGlobalAnsi(managedString)
. 要释放指针,自定义删除器应调用Marshal::FreeHGlobal
. 我正在寻找类似的东西:
std::shared_ptr<IntPtr> managedFilename(Marshal::StringToHGlobalAnsi(videoFilename),
Marshal::FreeHGlobal); // does not compile
编译器正在阻塞videoFilename
参数和IntPtr
-to-void 转换。
我有这个在传统的 C 中工作;但是,我想使用 STL。