Maison > Article > développement back-end > Comment passer des paramètres de fonction en C++
Il existe trois façons de transmettre des paramètres de fonction en C++ : passer une copie par valeur, passer une référence par référence et passer un pointeur par pointeur. Le passage par valeur n'affecte pas les paramètres réels, le passage par référence et pointeur le fait.
Comment passer des paramètres de fonction en C++
En C++, les paramètres de fonction peuvent être passés par référence, pointeur ou valeur. Voici des introductions et des exemples pratiques de chaque méthode de transmission :
Pass-by-value
Passez une copie d'un argument de fonction. Toute modification apportée à la copie n’affectera pas les paramètres réellement transmis.
void swap(int x, int y) { int temp = x; x = y; y = temp; } int main() { int a = 10, b = 20; std::cout << "Before swap: a = " << a << ", b = " << b << std::endl; swap(a, b); // a 和 b 的副本被传给 swap std::cout << "After swap: a = " << a << ", b = " << b << std::endl; return 0; }
Sortie :
Before swap: a = 10, b = 20 After swap: a = 10, b = 20
Pass-by-reference
Passez une référence à un argument de fonction. Toute modification de la référence affectera les paramètres réels transmis.
void swap(int &x, int &y) { int temp = x; x = y; y = temp; } int main() { int a = 10, b = 20; std::cout << "Before swap: a = " << a << ", b = " << b << std::endl; swap(a, b); // a 和 b 的引用被传给 swap std::cout << "After swap: a = " << a << ", b = " << b << std::endl; return 0; }
Sortie :
Before swap: a = 10, b = 20 After swap: a = 20, b = 10
pass-by-pointer
passe le pointeur du paramètre de fonction. Toute modification de la mémoire pointée par le pointeur affectera les paramètres réellement transmis.
void swap(int *x, int *y) { int temp = *x; *x = *y; *y = temp; } int main() { int a = 10, b = 20; std::cout << "Before swap: a = " << a << ", b = " << b << std::endl; swap(&a, &b); // a 和 b 的指针被传给 swap std::cout << "After swap: a = " << a << ", b = " << b << std::endl; return 0; }
Sortie :
Before swap: a = 10, b = 20 After swap: a = 20, b = 10
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!