在C++/CLI中创建某种C++对象列表

dev*_*per 5 c++ c++-cli list

我试图在C++/CLI中创建C++对象的列表/集合,我尝试了各种方法但似乎没有任何工作(编译时出错).

我试过了:

List<MyCppObject*> ^myList; //Does not allow non-.NET objects

ArrayList ^myList;
...
myList->Remove(myCppObject); //cannot convert parameter 1 from 'MyCppObject *' to 'System::Object ^'
Run Code Online (Sandbox Code Playgroud)

我的要求:

1)列表必须包含C++对象

2)我需要删除特定对象的能力(例如,矢量不起作用,因为它只是推/弹顶部)

问题:如何在C++/CLI函数中创建C++对象的列表/集合,并且能够轻松删除特定对象?

让我知道是否有人想要一些额外的信息; 在此先感谢您的帮助!

Aja*_*jay 2

要存储本机对象/指针,您必须使用本机集合类。如果您希望集合类维护分配/释放,请使用<MyCppObject>,或者<MyCppObject*>如果您要维护内存分配,请使用 (即集合类将仅保存指针)。

STL/CLR 类会做相反的事情 - 您可以使用 STL 类来存储 .NET 对象。