Maison > Article > développement back-end > La différence entre la référence de valeur du côté gauche et le paramètre de référence de valeur du côté droit de la fonction C++
La différence entre les paramètres de référence de valeur de gauche et de droite en C++ est la suivante : La référence de valeur de gauche (&) pointe vers un objet existant et est utilisée pour modifier son état. La référence de valeur de droite (&&) pointe vers un objet temporaire utilisé pour obtenir ou transmettre ses données.
La différence entre la référence de valeur de gauche et le paramètre de référence de valeur de droite dans la fonction C++
Arrière-plan
La référence en C++ est un alias pour une variable, permettant un accès direct à la mémoire du sous-jacent objet. Comprendre la différence entre les références de valeur de gauche et les références de valeur de droite est essentiel pour utiliser efficacement les références C++.
Référence de valeur du côté gauche
La référence de valeur du côté gauche (&) est utilisée comme type utilisé comme référence à un objet existant. Ils servent à modifier l'état de l'objet d'origine.
Syntaxe :
int& lvalue_ref = variable;
Référence de valeur du côté droit
Référence de valeur du côté droit (&&) Le type utilisé comme référence à un objet temporaire (qui n'existe que dans une expression). Ils sont utilisés pour obtenir des données d'objets temporaires ou les transmettre à d'autres fonctions.
Syntaxe :
int&& rvalue_ref = std::move(temporary_object);
Cas pratique
Exemple 1 : Échanger deux nombres
void swap(int& a, int& b) { int temp = a; a = b; b = temp; }
Dans cet exemple, la fonction swap()
accepte deux références de valeur de gauche comme paramètres. Cela permet de modifier directement les valeurs originales de a
et b
. swap()
函数接受两个左侧值引用作为参数。这允许直接修改 a
和 b
的原始值。
示例 2:将临时对象传递给函数
void print_value(int&& rvalue) { std::cout << "Value: " << rvalue << std::endl; } int main() { print_value(42); // Temporary object created and passed as rvalue reference return 0; }
在这个例子中,print_value()
Exemple 2 : Passer un objet temporaire à une fonctionrrreee
Dans cet exemple, la fonctionprint_value()
accepte une référence de valeur de droite comme paramètre. Cela permet à la valeur entrante d'être lue directement à partir de l'objet temporaire (42). 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!