pointer auf pointer
-
function()
{
...
long *pnVertTriaNeighb = NULL;
long *pnVertIndex = NULL;int nSize = GetNeighbour_am(pCurrentPL, &pnVertTriaNeighb, &pnVertIndex);
Inflate_Surface_am(pCurrentPL, pnVertTriaNeighb, pnVertIndex, nSize);
...
}ich habe diese zwei funktionen und erstelle wie oben zu sehen einen zeiger.
leider kann ich nicht mit einer klasse arbeiten, sondern muss mit zeiger auf
zeiger arbeiten.
jetzt meine frage:
in GetNeighbour_am erstelle ich das array pnVertTriaNeighb und pnVertIndex auf dem
heap.
übergebe ich nun diese an eine andere funktion und lese sie dort nur aus,
muss ich dann wieder die adresse übergeben (zeiger auf zeiger), oder ist
das so richtig wie es da steht???
-
Hi,
?
also ich sehe den Sinn von Zeigern nur in Mehrfacharrays, denn Folgendes geht:
void a() { int* n = new int[100]; b(n); delete[] n; } void b(int* n) { // Yes, yo Mann, ich kann das Array n nutzen }
Ist ja auch logisch, n ist nur ein Zeiger auf den Speicherbereich, wieso sollte man einen Zeiger auf jenen Zeiger in a machen, wenn man es auch direkt so machen kann? Den Umweg würde ich da nicht nutzen.
MfG Eisflamme
-
gast256783939 schrieb:
übergebe ich nun diese an eine andere funktion und lese sie dort nur aus,
muss ich dann wieder die adresse übergeben (zeiger auf zeiger), oder ist
das so richtig wie es da steht???Nein, das stimmt so.
-
Mis2com schrieb:
also ich sehe den Sinn von Zeigern nur in Mehrfacharrays, denn Folgendes geht:
Aha... Wieder was gelernt
Ist ja auch logisch, n ist nur ein Zeiger auf den Speicherbereich, wieso sollte man einen Zeiger auf jenen Zeiger in a machen, wenn man es auch direkt so machen kann? Den Umweg würde ich da nicht nutzen.
Nur mit einem Zeiger auf einen Zeiger kann er den INHALT von pnVertTriaNeighb und pnVertIndex verändern. (würde natürlich auch noch mit einer Referenz auf einen Zeiger gehen).
-
Hi,
ok, stimmt.
Und dass ich den Sinn nicht sehe, heißt keinesfalls, dass es keinen gibt, so selbsteingenommen bin ich net.MfG Eis
-
@ interpreter: vielen dank
hab schon gedacht, dass das stimmt, bin aber gerade beim debuggen und
finde den fehler nicht;
deshalb wollt ich nochmal auf nr. sicher gehen;@Mis2com
ich kann die größe des arrays erst in der unterfunktion berechnen.
hab solche probleme, da ich gerade an ner software schreib, bei der
große teile noch in c geschrieben sind und ich mir somit nur
schwer ne klasse erzeugen kann etc ...
trotzdem danke für die schnelle antwort
-
Mis2com schrieb:
Hi,
ok, stimmt.
Und dass ich den Sinn nicht sehe, heißt keinesfalls, dass es keinen gibt, so selbsteingenommen bin ich net.MfG Eis
-
war zu langsam. hab mich nebenzu noch um das **** debuggen gekümmert.