Heb in C++ de volgende code:
In de main wordt bij delete c ook de delete van p aangeroepen, ik weet zeker dat het geheugen gealloceerd bij p = new A ook weer vrijgegeven is.
Hoe krijg ik hetzelfde voor elkaar in C#? Waarbij de vraag zich denk ik richt op wat wordt ~B(), immers:
kan niet in C#.
Ik heb al eea gelezen over finalize, gc, dispose, zetten van p=null... maar kan hier nog niet zo wijs uit worden. Wat is nu een goede manier om dit voor elkaar te krijgen?
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| class A { public : double x,y,z; }; class B { public : int k,l,m; A p; } B::B() { p = new A; } B::~B() { delete p; } Main() { c = new B; delete c; } |
In de main wordt bij delete c ook de delete van p aangeroepen, ik weet zeker dat het geheugen gealloceerd bij p = new A ook weer vrijgegeven is.
Hoe krijg ik hetzelfde voor elkaar in C#? Waarbij de vraag zich denk ik richt op wat wordt ~B(), immers:
C#:
1
2
3
4
| B::~B() { delete p; } |
kan niet in C#.
Ik heb al eea gelezen over finalize, gc, dispose, zetten van p=null... maar kan hier nog niet zo wijs uit worden. Wat is nu een goede manier om dit voor elkaar te krijgen?
[ Voor 3% gewijzigd door Verwijderd op 30-01-2005 07:53 ]