Maison  >  Article  >  développement back-end  >  La différence entre transmettre des valeurs et transmettre des références dans les paramètres de fonction C++

La différence entre transmettre des valeurs et transmettre des références dans les paramètres de fonction C++

王林
王林original
2024-04-19 12:33:021080parcourir

Le passage des paramètres de fonction C++ a deux méthodes : le passage de valeur et le passage de référence : Passage de valeur : créez une copie de la variable locale et les modifications apportées à la copie n'affectent pas la variable d'origine. Passer par référence : transmettez directement la référence à la variable d'origine et les modifications apportées à la variable de référence sont reflétées dans la variable d'origine.

C++ 函数参数传递值和传递引用的区别

C++ La différence entre passer des paramètres de fonction par valeur et passer par référence

Passage par valeur

Lorsqu'un paramètre de fonction est passé par valeur, une copie de la variable locale sera créée. Les modifications apportées à cette copie n'affectent pas la variable d'origine.

Syntaxe :

void function(int value);

Pass par référence

Lorsqu'un paramètre de fonction est passé par référence, la référence à la variable d'origine est passée directement au lieu de créer une copie. Les modifications apportées à la variable de référence seront reflétées dans la variable d'origine.

Syntaxe :

void function(int& value);

Exemple pratique

Considérons la fonction suivante :

void swap(int& a, int& b) {
  int temp = a;
  a = b;
  b = temp;
}

Cette fonction passe deux entiers par référence, donc lorsque la fonction échange la valeur de ab, elle modifie également la variable d'origine dans le fichier principal fonction .

Exemple d'utilisation :

int main() {
  int x = 5, y = 10;
  swap(x, y); // 交换 x 和 y 的值
  cout << x << ", " << y << endl; // 输出交换后的值
  return 0;
}

Sortie :

10, 5

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!

Déclaration:
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