C++ Appel par référence
La méthode de passage des paramètres à une fonction,Appel par référencecopie l'adresse de la référence dans le paramètre formel. À l'intérieur de la fonction, la référence est utilisée pour accéder aux arguments réels à utiliser dans l'appel. Cela signifie que la modification du paramètre formel affecte l'argument réel.
Avec le passage par référence, la référence du paramètre est passée à la fonction tout comme le passage d'autres valeurs à une fonction. Par conséquent, dans la fonction suivanteswap()vous devez déclarer les paramètres de la fonction comme des types référence. Cette fonction est utilisée pour échanger les valeurs des deux variables entières pointées par les paramètres.
// 函数定义
void swap(int &x, int &y)
{
int temp;
temp = x; /* 保存地址 x 的值 */
x = y; /* 把 y 赋值给 x */
y = temp; /* 把 x 赋值给 y */
return;
}
Maintenant, appelons la fonction en passant les valeurs par référenceswap():
Exemple
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
交换前,a 的值: 100 交换前,b 的值: 200 交换后,a 的值: 200 交换后,b 的值: 100
Points clés
- Définition de référence: en utilisant
&symbole pour définir un type de référence, par exempleint &ref。 - passage par référence: Utiliser des types de référence dans la liste des paramètres de la fonction, afin que les modifications à l'intérieur de la fonction affectent les variables réelles passées en argument.
- Éviter la surcharge de copie: Le passage par référence évite la surcharge de copie lors du passage de gros objets, améliorant l'efficacité.
Scénarios d'application de l'appel par référence
- Modifier des variables externes: Comme montré dans l'exemple ci-dessus, modifier les variables passées via la fonction.
- réduire la surcharge: En particulier lors du passage de gros objets ou de structures de données complexes, le passage par référence peut éviter des opérations de copie inutiles.
- Optimisation de la valeur de retour: Renvoyer une variable locale d'une fonction par référence évite la surcharge de copie de la valeur de retour.
L'appel par référence est une technique importante en C++ qui peut améliorer l'efficacité et la flexibilité du code. Comprendre et maîtriser l'appel par référence est très utile pour écrire des programmes C++ efficaces.
autres extensions