C++/Referencias
C++ | ||
Referencias |
Unha referencia é un alias —un nome alternativo— dun obxecto.
As referencias adoitan empregarse nas funcións, cando os parámetros se lles pasan por referencia:
void intercambiar(int& variable1 int& variable2) {
int temporal = variable1;
variable1 = variable2;
variable2 = temporal;
}
int main()
{
int a, b;
intercambiar(a,b);
}
Neste exemplo, variable1
e variable2
son alias de a
e b
, respectivamente. Noutras palabras: variable1
é a
. Non é un punteiro a a
nin unha copia de a
, senón a propia a
. Calquera alteración a variable1
afectará asemade a a
, e viceversa.
Cando usar punteiros e cando referencias
editarEmpregue referencias cando poida, e punteiros cando deba.
En xeral, é preferible empregar referencias en vez de punteiros sempre que non sexa necesario cambiar o obxecto ao que se fai referencia. Normalmente, iso significa que as referencias teñen maior utilidade na interface pública dunha clase. As referencias adoitan aparecer na parte exterior dun obxecto, mentres que os punteiros adoitan aparecer na interior.
Un caso aparte sería o de que un parámetro ou o valor de devolución dunha función necesitase dunha “referencia sentinela”, é dicir, unha referencia que non fai referencia a un obxecto. A mellor forma de conseguir isto e mediante un punteiro, dándolle ao punteiro nulo este significado especial.
C++ | ||
Referencias |