Références C++


Une variable de référence est un alias, c'est-à-dire qu'il s'agit d'un autre nom pour une variable existante. Une fois que vous avez initialisé une référence à une variable, vous pouvez utiliser le nom de la référence ou le nom de la variable pour pointer vers la variable.

Référence C++ vs Pointeur

La référence se confond facilement avec le pointeur, il existe trois différences principales entre eux :

  • Là n'est pas une référence nulle. La référence doit être connectée à une mémoire légale.

  • Une fois qu'une référence est initialisée sur un objet, elle ne peut pas être pointée vers un autre objet. Un pointeur peut à tout moment pointer vers un autre objet.

  • Les références doivent être initialisées lors de leur création. Les pointeurs peuvent être initialisés à tout moment.

Créer une référence en C++

Imaginez que le nom de la variable est l'étiquette attachée à l'emplacement mémoire de la variable. Vous pouvez considérer la référence comme la deuxième étiquette. de l'emplacement mémoire attaché aux balises variables. Par conséquent, vous pouvez accéder au contenu d'une variable via le nom de variable d'origine ou par référence. Par exemple :

int i = 17;

On peut déclarer une variable de référence pour j'aime ceci :

int&    r = i;

Dans ces déclarations, & est lu comme référence. Par conséquent, la première déclaration peut être lue comme "r est une référence entière initialisée à i", et la deuxième déclaration peut être lue comme "s est une référence double initialisée à d". L'exemple suivant utilise des références int et double :

#include <iostream>
 
using namespace std;
 
int main ()
{
   // 声明简单的变量
   int    i;
   double d;
 
   // 声明引用变量
   int&    r = i;
   double& s = d;
   
   i = 5;
   cout << "Value of i : " << i << endl;
   cout << "Value of i reference : " << r  << endl;
 
   d = 11.7;
   cout << "Value of d : " << d << endl;
   cout << "Value of d reference : " << s  << endl;
   
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7

Les références sont généralement utilisées pour les listes de paramètres de fonction et la fonction renvoie une valeur. . Vous trouverez ci-dessous deux concepts importants liés aux références C++ que les programmeurs C++ doivent connaître :

概念描述
把引用作为参数C++ 支持把引用作为参数传给函数,这比传一般的参数更安全。
把引用作为返回值可以从 C++ 函数中返回引用,就像返回其他数据类型一样。