Maison > développement back-end > C++ > Technologie de passage de paramètres en C/C++

Technologie de passage de paramètres en C/C++

WBOY
Libérer: 2023-08-31 13:41:06
avant
852 Les gens l'ont consulté

Technologie de passage de paramètres en C/C++

En C, nous pouvons transmettre des arguments de deux manières différentes. Ce sont des appels par valeur et des appels par adresse et en C++, nous pouvons obtenir une autre technique. C'est ce qu'on appelle l'appel par référence. Jetons un coup d'œil à leurs effets et à leur fonctionnement.

Nous verrons d’abord l’appel par valeur. Dans cette technique, les paramètres sont copiés dans les paramètres de fonction. Ainsi, si une modification est apportée, cela mettra à jour la valeur copiée, et non la valeur réelle.

Exemple

#include <iostream>
using namespace std;
void my_swap(int x, int y) {
   int temp;
   temp = x;
   x = y;
   y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(a, b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}
Copier après la connexion

Sortie

(a,b) = (10, 40)
(a,b) = (10, 40)
Copier après la connexion

L'appel par adresse fonctionne en passant l'adresse d'une variable dans une fonction. Par conséquent, lorsque la fonction met à jour la valeur pointée par cette adresse, la valeur réelle est automatiquement mise à jour.

Exemple

#include <iostream>
using namespace std;
void my_swap(int *x, int *y) {
   int temp;
   temp = *x;
   *x = *y;
   *y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(&a, &b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}
Copier après la connexion

Sortie

(a,b) = (10, 40)
(a,b) = (40, 10)
Copier après la connexion
Copier après la connexion

Identique à l'appel d'adresse, nous utilisons ici l'appel de référence. Il s'agit d'une fonctionnalité spécifique au C++. Nous devons transmettre la variable de référence du paramètre, donc pour la mettre à jour, la valeur réelle sera mise à jour. Uniquement dans la définition de la fonction, nous devons mettre & avant le nom de la variable.

Exemple

#include <iostream>
using namespace std;
void my_swap(int &x, int &y) {
   int temp;
   temp = x;
   x = y;
   y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(a, b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}
Copier après la connexion

Sortie

(a,b) = (10, 40)
(a,b) = (40, 10)
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal