C++: Frage zu Pointer

kenny2332

Aktives Mitglied
Thread Starter
Dabei seit
19.09.2010
Beiträge
481
Reaktionspunkte
25
Hallo zusammen,

ich habe eine Frage zu Pointer bei C++. Habe gerade schon das Internet durchsucht, aber keine Verständliche Lösung gefunden. Der untenstehende Code enthält einen Pointer dem Speicher zugewiesen wurde. Durch die Ausgabe des Pointers, wird die Adresse ausgegeben. Aber wenn man den Adressoperator (&) benutzt, kommt eine andere Adresse raus. Müsste das nicht die gleiche

Code:
double* pointer = new double; 

cout << "1. " << pointer <<endl; 
cout << "2. " << &pointer;
Code:
AUSGABE: (Bsp)
1. 00489DD8
2. 003BF758

Vielen Dank schon mal :)
 
wieso wird durch die ausgabe von pointer die adresse ausgegeben?
sieht mir eher nach einem zufallswert aus, weil du ja pointer nicht einmal mit einem wert initialisierst.
 
Also ist das genau wie die Ausgabe einer nicht definierten Variable (Z.B. int a; cout << a; )?
 
Dein Pointer hat einen Wert und eine Adresse, der Wert ist die Adresse auf die er zeigt und die Adresse ist seine Adresse.
 
mein C/C++ ist etwas eingerostet, scheint so als würde cout bei dem code halt die adresse auf die der zeigt ausgeben.
den inhalt kriegst ja wie gewohnt mit *pointer.

cout gibt dir ja auch die adressen als 0x123 und werte als z.b. 0 aus...
 
cout macht genau was es soll ;)

Weder pointer noch &pointer dereferenzieren pointer.
*pointer aber dereferenziert pointer, wie du schon erkannt hast, somit arbeitet man dann nicht mehr mit pointer sondern mit dem Wert der Variable auf die der Pointer pointer pointert.
 
Zurück
Oben Unten