Je gebruikt dat type pointer om naar een managed (.NET framework objecten bijvoorbeeld) object te verwijzen. Deze objecten staan dan ook op de managed heap
[ Voor 62% gewijzigd door MLM op 17-12-2008 20:10 ]
-niks-
Kijk bijvoorbeeld hier: http://msdn.microsoft.com/en-us/library/te3ecsc8.aspx
[ Voor 23% gewijzigd door MLM op 17-12-2008 20:19 ]
-niks-
Ik vraag me wel af of je de term managed pointer zomaar mag vervangen door reference?
ASSUME makes an ASS out of U and ME
-niks-
Verwijderd
Ik vraag me wel af of je de term managed pointer zomaar mag vervangen door reference?
Dat doet me denken van wel, maar komt er gelijk een vraag bij mij naar boven:Je gebruikt dat type pointer om naar een managed (.NET framework objecten bijvoorbeeld) object te verwijzen. Deze objecten staan dan ook op de managed heap
Waarom een managed pointer als je toch nog expliciet met pointers aan de gang gaat. Ruimt de GC niet automatisch de 'troep' waarnaar geen pointers meer verwijzen? Zo niet, waarom is het dan überhaupt een managed pointer en niet gewoon een '*'?
-niks-
Ter aanvulling op de laatste post van MLM, het verschil tussen ^ en * is er omdat je in hetzelfde programma zowel CLR handles als native pointers kunt gebruiken. "Vroegâh", in Managed C++ (VS 2002 en 2003), werd de * notatie voor beide constructs gebruikt, wat alleen maar verwarring en ambiguïteiten met zich meebracht, waardoor ze voor C++/CLI een fatsoenlijke oplossing hebben bedacht. Naast de ^ heb je trouwens ook de %, de CLR variant van de & (voor references en het verkreigen van adressen van references)
1
2
3
4
5
6
7
8
| int main() { int * intptr = new int; int & intref = *intptr; int ^ inthandle = gcnew int; int % intref2 = ^inthandle; } |
[ Voor 37% gewijzigd door .oisyn op 17-12-2008 20:59 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.