Problem mit pointer
-
Zuerst mal Hallo zusammen....
Ich bin gerade dabei, mir C++ beizubringen...
bis jetzt habe ich alles verstanden, aber bei den Pointern die auf den Heap zugreifen, habe ich ein Problem....Ich habe folgenden code geschrieben...
#include <iostream.h> #include <stdlib.h> int main() { int * ppointer = new int; //speicher zuweisen *ppointer = 0; //Wert in speicher schreiben while (*ppointer != 10 ) { cout << "ppointer: " << *ppointer << "\n"; //wert ausgeben *ppointer++; //wert inkrementieren } delete ppointer; //speicher freigeben system("PAUSE"); return 0; }
Meiner Meinung nach, sollte *ppointer jetzt bis auf 10 zählen, und das ganze auf den Bildschirm ausgeben....
Leider bleibt die Zahl immer auf 0....wenn ich die Zeile *ppointer++; mit *ppointer = *ppointer + 1; ersetze, funktioniert es...
Weshalb kann ich diesen Pointer nicht mit *ppointer++; inkrementieren???
THX
-
Es wird zuerst ++ angewendet, dann *.
-
Um das noch etwas auszuführen.
Weil der incrementoperator vor dem dereferenzierungsoperator abgearbeitet wird musst du die Bindung von Hand anpassen.
(*pointer)++;
-
danke, hat funktioniert.....