Niedeterministyczny destruktor dziedziczy z metody Finalize() bazowej klasy Object.
Deterministyczny destruktor powinien być używany, gdy istnieje potrzeba zwolnienia niezarządzanych zasobów lub zasobów całego systemu (połączenia sieciowe, strumienie plików itp.). W innych przypadkach powinien wystarczyć finalizator. Jeżeli jest używany deterministyczny destruktor, programista powinien tworzyć finalizator, który tylko sprawdza czy destruktor został już wykonany i jeżeli nie został, powinien wykonać go (by uniknąć możliwych wycieków niezarządzanej pamięci/zasobów).
Przykładowy program Poniższy program wyświetla napis "Hello World – Managed" przy użyciu funkcji .NET i napis "Hello World – Native" przy użyciu zwykłej biblioteki standardowej C++.
#include <iostream>
using namespace System; using namespace std; // Przestrzeń nazw standardowej biblioteki języka C++
int main(array<System::String ^> ^args) { Console::WriteLine(L"Hello World - Managed"); cout << "Hello World - Native"; // Wysyłanie podanego tekstu na standardowe wyjście - domyślnie na konsolę/terminal return 0;
Kategoria:C++ Kategoria:.NET