Liaison de références non const à des valeurs L de différents types
En C , une référence lvalue non const (&) ne peut pas être liée à une lvalue d'un type différent, comme le démontre l'exemple ci-dessous :
int a; double &m = a; // Error: non-const lvalue reference cannot bind to an lvalue of different type
C'est parce que la non-const la référence m tente de se lier à un objet temporaire créé lors de l'affectation. Les références non const ne peuvent pas se lier aux temporaires.
Cependant, considérons l'exemple suivant :
const double &m = a; // Valid
Dans ce cas, la référence const m est liée à une lvalue non const, et la la conversion de int en double est autorisée. En effet, la référence const protège la valeur sous-jacente contre toute modification, éliminant ainsi le risque de corruption des données qui pourrait résulter de la liaison d'une référence non const à une référence temporaire.
Par conséquent, lorsque vous tentez de lier une référence non const. const référence à une lvalue d'un type différent, une erreur se produira en raison de l'incapacité des références non const à se lier aux temporaires.
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!