Qual é a diferença entre ponteiro e referência

Índice:

Anonim

o principal diferença entre o ponteiro e a referência é que ponteiro é uma variável que contém o endereço de outra variável enquanto referência é um apelido para acessar uma variável já existente.

C ++ é um aprimoramento da linguagem C. Também é considerado um superconjunto de C. É uma linguagem poderosa e ajuda a construir vários aplicativos, como sistemas operacionais, drivers de dispositivo, etc., enquanto fornece muitos recursos para implementar programas. Um desses recursos é a alocação dinâmica de memória. Ponteiros e referências são dois conceitos relacionados à alocação dinâmica de memória.

Ponteiro, Referência

O que é Pointer

Um ponteiro é uma variável que armazena o endereço de outra variável. Em outras palavras, ele armazena o endereço direto de um local de memória. O programador deve declarar um ponteiro antes de usá-lo para armazenar um endereço de memória. Por exemplo, assume, int * ptr; ele explica que ptr é um ponteiro que contém o endereço de um inteiro. A marca * designa uma variável como um ponteiro.

Existem várias etapas a serem seguidas ao usar ponteiros. Primeiro, o programador deve definir uma variável de ponteiro. Em seguida, ele deve atribuir o endereço de uma variável a um ponteiro. Finalmente, o programador pode acessar o valor. Um exemplo simples é o seguinte.

Figura 1: programa C ++ com ponteiro

A variável ‘x’ contém o valor 50. O ptr é um ponteiro para um número inteiro. Na linha 9, ptr é atribuído com o endereço da variável x. Agora ptr aponta para x. Imprimir o valor apontado por ptr dá o valor de x, que é 50.

O que é referência

Uma referência é um apelido para uma variável já existente. Depois que a referência é inicializada com uma variável, é possível usar o nome da variável ou o nome da referência para se referir a essa variável. Normalmente, um nome de variável é um rótulo que ajuda a identificar a localização da memória dessa variável. Uma referência pode ser considerada como um segundo rótulo anexado a esse local de memória. Portanto, o programador pode acessar o conteúdo da variável usando o nome da variável ou usando a referência.

int x = 50;

A variável de referência para x é a seguinte.

int & r = x;

Figura 2: programa C ++ com referência

A variável x pode armazenar o tipo de dados inteiro enquanto r é uma referência inteira inicializada em x. Em seguida, x é atribuído com o valor 50. A linha 10 imprime o valor de x usando o nome da variável original x enquanto a linha 11 imprime o valor de x usando a referência r.

Diferença entre ponteiro e referência

Definição

Um ponteiro é um objeto de linguagem de programação que armazena o endereço de memória de outro valor localizado na memória do computador, enquanto uma referência é um apelido ou outro nome para uma variável já existente. Esta é a principal diferença entre ponteiro e referência.

Funcionalidade

Um ponteiro contém o endereço de um local da memória, enquanto uma referência é um apelido para uma variável que já existe.

Operador

O operador para ponteiro é *, enquanto o operador para referência é &.

NULO

Pode haver ponteiros nulos, mas não pode haver referências nulas. Esta é outra diferença entre ponteiro e referência.

Inicialização

É possível inicializar ponteiros a qualquer momento; no entanto, uma referência deve ser inicializada ao criá-la.

Modificação

A modificação é outra diferença entre ponteiro e referência. Os ponteiros podem apontar para outro objeto a qualquer momento. No entanto, após inicializar uma referência a um objeto, não é possível alterá-la para se referir a algum outro objeto.

Conclusão

Ponteiros e referências são dois conceitos relacionados à alocação dinâmica de memória em C ++. A principal diferença entre o ponteiro e a referência é que o ponteiro é uma variável que contém o endereço de outra variável, enquanto a referência é um apelido para acessar uma variável já existente.

Referência:

1. “Ponteiros C”. Strings Python (com exemplos), disponíveis aqui.

Qual é a diferença entre ponteiro e referência