В C++/CLI вы можете использовать собственные типы в управляемом классе, так как не разрешено удерживать член собственного класса в управляемом классе: вам нужно использовать указатели в таком случае.auto_ptr или shared_ptr эквивалент в управляемых классах C++/CLI
Вот пример:
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-Information». Следуя вашему предложению, я проверил 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