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 pode ser usado para se referir à variável.
Referências vs ponteiros
As referências são frequentemente confundidas com ponteiros, mas as três principais diferenças 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.
Depois que uma referência é inicializada para um objeto, ela não pode ser alterada para se referir a outro objeto. Os 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.
Criação de referências em C ++
Pense no nome de uma 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 da 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 maneira.
int& r = i;
Leia o & nestas declarações como reference. Assim, leia a primeira declaração como "r é uma referência inteira 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 -
#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 são geralmente usadas para listas de argumentos de funções e valores de retorno de funções. Então, a seguir estão dois assuntos importantes relacionados às referências C ++ que devem ser claros para um programador C ++ -
Sr. Não | Conceito e descrição |
---|---|
1 | Referências como parâmetros C ++ suporta a 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. |