Maison >développement back-end >C++ >Comment passer les paramètres de la fonction C++ ?

Comment passer les paramètres de la fonction C++ ?

王林
王林original
2024-04-18 21:45:02542parcourir

En C++, il existe deux manières de passer des paramètres : passer par valeur : créer une copie du paramètre, et la fonction modifiant la copie n'affecte pas le paramètre d'origine. Passer par référence : transmettre la référence du paramètre et la modification de la fonction de la référence affectera le paramètre d'origine.

C++ 函数的参数如何传递?

Comment transmettre des paramètres de fonction en C++

En C++, les paramètres de fonction peuvent être transmis aux fonctions des deux manières suivantes :

  • Passer par valeur
  • Passer par référence

Passer par valeur

Le passage par valeur transmet une copie de l'argument à la fonction, ce qui signifie que toute modification apportée par la fonction à la copie n'affectera pas l'argument d'origine.

Syntaxe :

void foo(int x);void foo(int x);

在此示例中,x 是按值传递给 foo() 函数的。

按引用传递

按引用传递会将参数的引用传递给函数,这意味着函数对引用所做的任何更改也会反映在原始参数中。

语法:

void foo(int &x);

在此示例中,x 是按引用传递给 foo() 函数的。

实战案例:

考虑以下代码:

// 按引用传递参数
void swap(int &a, int &b) {
  int temp = a;
  a = b;
  b = temp;
}

int main() {
  int x = 1;
  int y = 2;

  swap(x, y);

  std::cout << "x: " << x << std::endl; // 输出: 2
  std::cout << "y: " << y << std::endl; // 输出: 1
  return 0;
}

在这个示例中,swap() 函数按引用接收参数 ab,因此对它们的更改会影响原始变量 xy

Dans cet exemple, x est passé par valeur à foo() code > fonction. 🎜🎜🎜Pass by reference🎜🎜🎜Pass by référence transmet la référence du paramètre à la fonction, ce qui signifie que toute modification apportée par la fonction à la référence est également reflétée dans le paramètre d'origine. 🎜🎜🎜Syntaxe : 🎜🎜🎜void foo(int &x);🎜🎜Dans cet exemple, x est passé par référence à foo() code > fonction. 🎜🎜🎜Exemple pratique : 🎜🎜🎜Considérons le code suivant : 🎜rrreee🎜Dans cet exemple, la fonction <code>swap() reçoit les paramètres a et b, donc leurs modifications affectent les variables d'origine <code>x et y. 🎜

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