Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Referência vs Ponteiros | Seção
Ponteiros e Referências em C++

bookReferência vs Ponteiros

Deslize para mostrar o menu

Referências e ponteiros fornecem acesso indireto aos valores das variáveis, mas eles possuem algumas diferenças importantes, além de vantagens e desvantagens.

Sintaxe

  • Ponteiros são declarados usando o símbolo *;

  • Referências são declaradas usando o símbolo &.

Inicialização

Não é possível declarar uma referência vazia. Mas é possível declarar um ponteiro vazio com nullptr.

Reatribuição

Referências não podem ser reatribuídas para referenciar um objeto diferente.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 125, y = 500; // creating a reference to x variable int& ref_x = x; ref_x = y; // attempt to re-assigned ref_x ref_x = 0; std::cout << x << ' ' << y; }

Ponteiros podem ser reatribuídos para apontar para diferentes locais de memória

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 125, y = 500; // creating a pointer to x variable int* ptr = &x; ptr = &y; // attempt to re-assigned ref_x *ptr = 0; std::cout << x << ' ' << y; }

Acessando o valor

Para acessar o valor apontado por um ponteiro, utiliza-se o operador de desreferência *. Para referências, não é necessário usar nenhum operador especial; basta utilizar a variável de referência diretamente.

Tanto ponteiros quanto referências são essenciais na gestão de memória, contribuindo para a flexibilidade dos programas. O uso de cada um depende do contexto.

question mark

Qual trecho de código demonstra corretamente que um ponteiro pode ser reatribuído para apontar para outra variável, mas uma referência não pode?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 11

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 11
some-alt