C++/CLI Managed解構子
在傳統C++中,解構子的寫法是"~類別名()"。而在C++/CLI中雖然也有這種寫法,但效果卻截然不同。
在C++/CLI Managed類別中,"~類別名()"其實相當於.NET程式的Dispose。在其它語言參考使用時,寫有"~類別名()"的類別,我們可以透過Dispose來釋放資源。
而要撰寫C++/CLI Managed類別的解構子,我們可以用"!類別名()"。
簡單的範例如下:
ref class TestObj
{
public:
//Dispose
~TestObj()
{
//Release resource
...
}
//Deconstructer
!TestObj()
{
~TestObj();
}
};