在C++/CLI中,您可以在托管类中使用本机类型,因为它不允许在托管类中保存本机类的成员:您需要使用指针在这种情况下。在被管理的C++/CLI类中相当于auto_ptr或shared_ptr
下面是一个例子:
class NativeClass
{
....
};
public ref class ManagedClass
{
private:
NativeClass mNativeClass; // Not allowed !
NativeClass * mNativeClass; // OK
auto_ptr<NativeClass> mNativeClass; //Not allowed !
boost::shared_ptr<NativeClass> mNativeClass; //Not allowed !
};
有谁知道的shared_ptr在C++/CLI世界等同呢?
编辑: 感谢您的建议,“1800-信息”。遵循你的建议,我检查了STL.Net,但它只适用于Visual Studio 2008,它提供了容器+算法,但没有智能指针。
http://codereview.stackexchange.com/questions/1695/scoped-ptr-for-c-cli-ensure-managed-object-properly-frees-owned-native-object – 2014-04-09 12:48:04