Maison >développement back-end >C++ >Quelles sont les méthodes de transmission des paramètres de fonction en C++ ?
En C++, il existe quatre façons de transmettre des paramètres : 1. Passer par valeur (copie) 2. Passer par référence 3. Passer par référence constante 4. Passer par pointeur. Le passage par valeur et le passage par référence sont utilisés pour modifier la valeur d'origine, la référence constante est utilisée pour l'accès en lecture seule et le passage par pointeur est utilisé pour exploiter l'adresse mémoire.
Méthodes de transmission des paramètres de fonction C++
En C++, il existe de nombreuses façons de transmettre des données aux fonctions. Selon qu'une copie de la valeur ou une référence à la valeur est transmise, les méthodes de transmission de paramètres sont divisées dans les types suivants :
1 Passer par valeur
Transmettre une copie de la valeur et des modifications à la copie. ne sera pas affecté par la valeur originale. Méthode de déclaration :
void f(int a); // 传递 a 的副本
2. Passer par référence
Passez une référence à la valeur, et les modifications apportées à la référence affecteront la valeur d'origine. Méthode de déclaration :
void f(int& a); // 传递 a 的引用
3. Passer par référence constante
est similaire au passage par référence, mais la valeur pointée par la référence ne peut pas être modifiée. Méthode de déclaration :
void f(const int& a); // 传递 a 的常引用
4. Passer par le pointeur
Passer le pointeur à la valeur La modification de la valeur pointée par le pointeur affectera la valeur d'origine. Méthode de déclaration :
void f(int* a); // 传递 a 的指针
Cas pratique :
Voici un exemple de fonction C++ utilisant le passage par valeur et le passage par référence :
#include <iostream> // 传值 void swapValue(int a, int b) { int temp = a; a = b; b = temp; } // 传引用 void swapReference(int& a, int& b) { int temp = a; a = b; b = temp; } int main() { int x = 1, y = 2; std::cout << "Before swapValue: x = " << x << ", y = " << y << std::endl; swapValue(x, y); std::cout << "After swapValue: x = " << x << ", y = " << y << std::endl; std::cout << "Before swapReference: x = " << x << ", y = " << y << std::endl; swapReference(x, y); std::cout << "After swapReference: x = " << x << ", y = " << y << std::endl; return 0; }
Résultat de sortie :
Before swapValue: x = 1, y = 2 After swapValue: x = 1, y = 2 Before swapReference: x = 1, y = 2 After swapReference: x = 2, y = 1
Remarque :
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!