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