single
Anvendelsesområder for Pointers
Stryg for at vise menuen
Når du sender en variabel til en funktion, sender du i bund og grund dens værdi. Det betyder, at funktionen modtager en kopi af dataene. Eventuelle ændringer foretaget inde i funktionen påvirker ikke den oprindelige variabel.
main.cpp
12345678910#include <iostream> void increment(int num) { num++; } int main() { int num = 5; increment(num); std::cout << "Original value: " << num << std::endl; }
Vi kan bruge pointers til at gøre det muligt for en funktion at ændre den oprindelige variabel. Dette indebærer at sende en hukommelsesadresse som argument i stedet for selve værdien.
main.cpp
123456789101112#include <iostream> void increment(int* num) { (*num)++; } int main() { int num = 5; int* p_num = # increment(p_num); std::cout << "Original value: " << num << std::endl; }
Du kan undgå at oprette en pointer til en variabel og i stedet bruge adresse-operatoren direkte når du videregiver en variabel.
Swipe to start coding
Skriv en funktion, der bytter værdierne af to heltalsvariabler ved hjælp af pointere.
- Opret en funktion
swap, der tager to pointere til heltal som parametre. - Brug en midlertidig variabel i funktionen til at gemme værdien af den første variabel.
- Tildel værdien af den anden variabel til den første variabel ved at bruge pointer-dereferering.
- Tildel værdien fra den midlertidige variabel til den anden variabel ved at bruge pointer-dereferering.
- Kald
mainiswapog send adresserne på de to variabler som argumenter.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat