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 intof 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 stringvariabele 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 ptrde 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;

C++-oefeningen

Test jezelf met oefeningen

Oefening:

Maak een pointervariabele met de naam ptr, die moet verwijzen naar een stringvariabele met de naam food:

string food = "Pizza";
  = &;