C++- aanwijzers
Aanwijzers maken
Je hebt uit het vorige hoofdstuk geleerd dat we het geheugenadres van een variabele kunnen krijgen door de &
operator te gebruiken:
Voorbeeld
string food = "Pizza";
// A food variable of type string
cout <<
food; // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food (0x6dfed4)
Een pointer is echter een variabele die het geheugenadres opslaat als zijn waarde .
Een aanwijzervariabele wijst naar een gegevenstype (zoals int
of string
) van hetzelfde type en wordt gemaakt met de *
operator. Het adres van de variabele waarmee u werkt, wordt aan de aanwijzer toegewezen:
Voorbeeld
string food = "Pizza"; // A food variable
of type string
string* ptr =
&food; // A pointer variable, with the name
ptr, that stores the
address of food
// Output the value of food (Pizza)
cout << food << "\n";
// Output
the memory address of food (0x6dfed4)
cout << &food << "\n";
//
Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
Voorbeeld uitgelegd
Maak een aanwijzervariabele met de naam ptr
, die naar een string
variabele verwijst, met behulp van het asterisk-teken
*
( string* ptr
). Merk op dat het type aanwijzer moet overeenkomen met het type variabele waarmee u werkt.
Gebruik de &
operator om het geheugenadres van de variabele genaamd food
, op te slaan en toe te wijzen aan de aanwijzer.
Bevat nu ptr
de waarde van food
's geheugenadres.
Tip: Er zijn drie manieren om aanwijzervariabelen te declareren, maar de eerste manier heeft de voorkeur:
string* mystring; // Preferred
string *mystring;
string * mystring;