Dereferenza C++
Ottieni indirizzo e valore di memoria
Nell'esempio della pagina precedente, abbiamo utilizzato la variabile pointer per ottenere l'indirizzo di memoria di una variabile (usata insieme all'operatore di &
riferimento ). Tuttavia, puoi anche utilizzare il puntatore per ottenere il valore della variabile, utilizzando l' *
operatore (l' operatore di dereferenziazione ):
Esempio
string food = "Pizza"; // Variable declaration
string* ptr =
&food; // Pointer declaration
//
Reference: Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
//
Dereference: Output the value of food with the pointer (Pizza)
cout <<
*ptr << "\n";
Nota che il *
segno può confondere qui, poiché fa due cose diverse nel nostro codice:
- Quando viene utilizzato nella dichiarazione (string* ptr), crea una variabile puntatore .
- Quando non viene utilizzato nella dichiarazione, funge da operatore di dereferenziazione .