006
25.11.2004, 17:26 Uhr
~jana
Gast
|
zu 000:
Kommt drauf an, wo Dein Programm laufen soll. Normaler Weise wird der Pointer nach dem Beenden des Blockes indem er steht wieder zerstoert, ich weiss aber nicht wie das beim Programmieren mit MFC ist. (... wenn ich mich richtig erinnere ... existieren die einmal angelegten Variablen oder Pointer nach dem Block weiter ... schau einfach mal irgendwo genau nach, wo was ueber die Lebensdauer von Variablen/alloziierten Pointern usw. steht ... bei den Microsoft Foundation Classes sind die Namensbereiche anders definiert als man annehmen sollte)
zu 001: o.k. wenn Du ptr dereferenzierst, dann kriegst Du 5 heraus, ... musst aber bedenken, wie lange i haelt ...
zu 002: (Hinweis: ich wuerde aber nicht unbedingt alles ueber den stack laufen lassen, denn dieser wird bei jedem neuen Aufruf der Funktion/Memberfunktion durchgegangen (die Variablenwerte bleiben zwar erhalten, aber lange Stacklisten sind nicht so superschoen) ... nur das in den Stack legen, was Du da wirklich brauchst ... ist aber am Anfang nicht so gravierend, sollte man nur im Auge behalten, und ausserdem werden die Computer eh immer schneller)
zu 003: mit den Referenzen uebergeben sieht konkret so aus:
(CCtoren ... muss ich erst mal nachlesen ... und Vererbung ist ne CPP-Sache, wo man auch erst mal ne Weile ueberlegen muss, war auch glaube ich nicht so das Thema)
zu 005: kann man ja mal schnell testen, was dann passiert, wenn man kein free gemacht hat ... im Debugger (gdb, ... oder welcher gerade benutzt wird) sich einfach die Adressen+Inhalt anzeigen lassen |