Cas d'Utilisation des Pointers
Lorsque vous passez une variable à une fonction, vous passez essentiellement sa valeur. Cela signifie que la fonction reçoit une copie des données. Toute modification effectuée à l'intérieur de la fonction n'affecte pas la variable d'origine.
main.cpp
12345678910#include <iostream> void increment(int num) { num++; } int main() { int num = 5; increment(num); std::cout << "Original value: " << num << std::endl; }
Nous pouvons utiliser des pointeurs pour permettre à une fonction de modifier la variable d'origine. Cela implique de passer une adresse mémoire en argument au lieu de la valeur réelle.
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; }
Remarque
Vous pouvez contourner la création d'un pointeur vers une variable et utiliser directement l'opérateur d'adresse lorsque vous passez une variable.
Swipe to start coding
- Créez une fonction qui échange les valeurs de deux variables.
- Appelez cette fonction.
- Affichez les valeurs des variables après l'échange.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain how to use the address-of operator when passing a variable?
What is the difference between passing by value and passing by pointer?
Can you give an example of passing a variable by pointer?
Awesome!
Completion rate improved to 5.88
Cas d'Utilisation des Pointers
Glissez pour afficher le menu
Lorsque vous passez une variable à une fonction, vous passez essentiellement sa valeur. Cela signifie que la fonction reçoit une copie des données. Toute modification effectuée à l'intérieur de la fonction n'affecte pas la variable d'origine.
main.cpp
12345678910#include <iostream> void increment(int num) { num++; } int main() { int num = 5; increment(num); std::cout << "Original value: " << num << std::endl; }
Nous pouvons utiliser des pointeurs pour permettre à une fonction de modifier la variable d'origine. Cela implique de passer une adresse mémoire en argument au lieu de la valeur réelle.
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; }
Remarque
Vous pouvez contourner la création d'un pointeur vers une variable et utiliser directement l'opérateur d'adresse lorsque vous passez une variable.
Swipe to start coding
- Créez une fonction qui échange les valeurs de deux variables.
- Appelez cette fonction.
- Affichez les valeurs des variables après l'échange.
Solution
Merci pour vos commentaires !
single