Entendendo Referências em C++: Conceitos-Chave e Diferenças de Ponteiros
Uma variável de referência é um alias, ou seja, outro nome para uma variável já existente. Uma vez que uma referência é inicializada com uma variável, tanto o nome da variável quanto o nome da referência podem ser usados para referenciar a variável.
Referências vs Ponteiros
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ê deve sempre poder assumir que uma referência está conectada a um pedaço legítimo de armazenamento.
Uma vez que uma referência é inicializada para um objeto, ela não pode ser alterada para referenciar outro objeto. Ponteiros podem apontar para outro objeto a qualquer momento.
Uma referência deve ser inicializada quando criada. Ponteiros podem ser inicializados a qualquer momento.
Criando 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 àquela localização de memória. Portanto, você pode acessar o conteúdo da variável através do nome original da variável ou da referência. Por exemplo, suponha que temos o seguinte:
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 inteira inicializada com i" e a segunda como "s é uma referência double inicializada com d". O exemplo a seguir faz uso de referências em int e double:
#include <iostream>
using namespace std;
int main() {
// declara variáveis simples
int i;
double d;
// declara variáveis de referência
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, produz o seguinte resultado:
Value of i: 5 Value of i reference: 5 Value of d: 11.7 Value of d reference: 11.7
Referências são geralmente usadas para listas de argumentos de função e valores de retorno de função. Portanto, a seguir estão dois assuntos importantes relacionados a referências C++ que devem ser claros para um programador C++:
| Nº | Conceito e Descrição |
|---|---|
| 1 | Referências como Parâmetros C++ suporta passagem de referências como parâmetro de função de forma mais segura que parâmetros. |
| 2 | Referência como Valor de Retorno Você pode retornar referência de uma função C++ como qualquer outro tipo de dado. |
Linguagem C
- Entendendo Tipos de Dados em C++: Fundamentos, Modificadores e Boas Práticas
- Dominando Operadores em C++: Guia Completo com Exemplos Práticos
- Comentários em C++: Boas Práticas para Código Legível e Manutenível
- Entendendo Construtores em C++: Padrão, Parametrizados e de Cópia Explicados
- Dominando Templates de Classe em C++: Um Guia Prático
- Linguagem de Programação C++: Visão Geral e Principais Características
- Constantes e Literais em C++: Tipos, Sintaxe e Boas Práticas
- Guia Completo de Operadores em C++: Tipos, Uso e Boas Práticas
- Dominando Tipos Numéricos em C++: Guia Prático
- Entendendo Referências em C++: Conceitos-Chave e Diferenças de Ponteiros