Referências C++
Uma variável de referência é um alias, ou seja, outro nome para uma variável já existente. Depois que uma referência é inicializada com uma variável, o nome da variável ou o nome da referência podem ser usados para se referir à variável.
Referências x Ponteiros
As referências são frequentemente confundidas com ponteiros, mas três diferenças principais entre referências e ponteiros são:
-
Você não pode ter referências NULL. Você sempre deve ser capaz de assumir que uma referência está conectada a um armazenamento legítimo.
-
Uma vez que uma referência é inicializada para um objeto, ela não pode ser alterada para se referir a outro objeto. Ponteiros podem ser apontados para outro objeto a qualquer momento.
-
Uma referência deve ser inicializada ao ser criada. Os ponteiros podem ser inicializados a qualquer momento.
Criando referências em C++
Pense em um nome de variável como um rótulo anexado à localização da variável na memória. Você pode então pensar em uma referência como um segundo rótulo anexado a esse local de memória. Portanto, você pode acessar o conteúdo da variável por meio do nome da variável original ou da referência. Por exemplo, suponha que temos o seguinte exemplo -
int i = 17;
Podemos declarar variáveis de referência para i da seguinte forma.
int& r = i;
Leia o &nestas declarações como referência . Assim, leia a primeira declaração como "r é uma referência de inteiro inicializada com i" e leia a segunda declaração como "s é uma referência dupla inicializada com d.". O exemplo a seguir faz uso de referências em int e double −
Demonstração ao vivo
#include <iostream>
using namespace std;
int main () {
// declare simple variables
int i;
double d;
// declare reference variables
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;
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Value of i : 5 Value of i reference : 5 Value of d : 11.7 Value of d reference : 11.7
As referências geralmente são usadas para listas de argumentos de função e valores de retorno de função. Então, a seguir estão dois assuntos importantes relacionados às referências C++ que devem ser claros para um programador C++ −
| Sr.Nº | Conceito e Descrição |
|---|---|
| 1 | Referências como parâmetros C++ dá suporte à passagem de referências como parâmetro de função com mais segurança do que parâmetros. |
| 2 | Referência como valor de retorno Você pode retornar a referência de uma função C++ como qualquer outro tipo de dados. |
Linguagem C