Qual é a diferença entre int e int& em C++?

Qual E A Diferenca Entre Int E Int Em C



Em uma linguagem de programação, os dados são armazenados na memória principal por meio de variáveis ​​para que possamos recuperar, acessar e realizar algumas operações nos dados. C++ tem tipos de dados que são utilizados para alocar dados na memória usando variáveis. Esses tipos de dados informam o tipo de dados e são predefinidos no compilador C++. Também podemos fazer a referência de um dado com outro dado na memória usando & operador em C++. Este artigo colocará alguma luz sobre os seguintes pontos.

Vamos demonstrar as consultas acima uma a uma.







O que é int em C++?

Em C++, um int é um tipo de dados que se refere apenas a dados do tipo inteiro. O int é uma palavra-chave reservada em C++ que possui apenas um valor inteiro para que possamos salvá-lo na memória e realizar algumas operações. Em C++, usamos o tipo de dados int para declarar qualquer valor positivo, negativo e zero em nosso programa.



Uma variável do tipo inteiro ocupa 4 bytes na memória. Em C++ a declaração da variável do tipo inteiro é mencionada abaixo:



int a = 10 ;





Acima, uma variável do tipo inteiro é criada com o nome de a e um lugar na memória principal que tem um valor armazenado de 10.

O que é int& em C++?

O int& significa referência a uma variável de tipo inteiro. Isso significa que apontará para uma variável do tipo inteiro que já existe no armazenamento. Uma variável de referência deve ser inicializada para vincular a um item real do mesmo tipo quando for declarada. A seguir está a inicialização de int&:



int a = 5 ;
int & ref_var = a;

Neste caso, o ref_var é uma referência a a . Qualquer operação em ref_var representa uma ação em a variável. Por exemplo, se digitarmos ref_var= 25; o valor de a será alterado para 25 porque o ref_var variável é apenas um alias para a variável.

Exemplos: Diferença entre int e int& em C++

Para entender a diferença entre int e int&, veja os exemplos abaixo:

#include
usando namespace std;

int principal ( ) {
int a = 2 ; // crie uma variável inteira a e atribua a ela o valor 2
int b = a; // criar uma cópia de a e atribuí-la a b
um = 4 ; // mude o valor de a para 4
cout << a << endl; // saída: 4
cout << b << endl; // saída: 2
retornar 0 ;
}

Saída

Neste código acima, alterando o valor de a não altera o valor b , porque b é apenas uma cópia de a que é definido no início da função principal.

#include
usando namespace std;

int principal ( ) {
int a = 2 ; // crie uma variável inteira a e atribua a ela o valor 2
int & ref_var = a; // criar uma referência a um
um = 4 ; // mude o valor de a para 4
cout << a << endl; // saída: 4
cout << ref_var << endl; // saída: 4
retornar 0 ;
}

Saída

Neste exemplo, ref_var é uma referência a a . Quando o valor de a é alterado, o valor de ref_var também é alterado, pois ambos se referem ao mesmo valor.

Principais distinções de int e int& na linguagem C++

A tabela a seguir explicará algumas diferenças gerais entre int e int&:

int int&
Um tipo de dado que é primitivo e que contém um valor numérico é int. int& é um ponto de acesso a uma variável numérica que serve como um alias para a variável real.
Empregar int interage com o valor real da variável. Int& é um alias para um número inteiro que pode ser aplicado para alterar a variável real.
Uma variável do tipo int recebe uma nova alocação de memória. Um int& não aloca nova memória, pois usa a memória variável existente.
O escopo e a duração das variáveis ​​inteiras são independentes. O escopo e a duração de int& não são especificados. Eles ocorrem apenas enquanto a variável de referência int à qual eles se referem ocorre.

Conclusão

Como outras linguagens de programação, C++ também oferece muitas funcionalidades que já estão definidas no interpretador C++. Um dos tipos de dados populares é o int tipo de dados que aceita dados inteiros e int& é uma referência de variável int que faz alterações diretas em int variáveis. A principal diferença entre int e int& is int declara uma nova variável, enquanto int& é uma variável de referência que faz alterações nas variáveis ​​declaradas do int tipo.