Introducción a Patrones de Diseño en C++ con Qt4/1.18 Variables de referencia

De Wikilibros, la colección de libros de texto de contenido libre.

Pronto observamos que un objeto (en el sentido más general) es una región contigua de almacenamiento. Un lvalue (left value, valor que va a la izquierda en una asignación) es una expresión que se refiere a un objeto. Ejemplos de lvalue son variables, celdas de arrays y punteros derreferenciados. En esencia, un lvalue es cualquier cosa con una dirección de memoria a la que se le pueda dar un nombre. En contraste, expresiones temporales o constantes tales como i+1 ó 3 no son lvalues.

En C++, una referencia provee un mecanismo para asignar un nombre alternativo a un lvalue. Las referencias son especialmente útiles para evitar hacer copias cuando copiar es muy costoso o innecesario, por ejemplo, cuando se pasa un objeto muy grande como parámetro de una función. Una referencia debe de ser inicializada cuando se declara, y el inicializador debe de ser un lvalue.