$ touch dereferência.cc
$ nano Dereferência.cc
Exemplo 01:
Temos que começar a incluir uma biblioteca "iostream" para uso do fluxo de entrada e saída em c++. A palavra -chave #include é utilizada para fazê -lo. Em seguida, um espaço de nome padrão "STD" veio para nos deixar usar as instruções de cout e CIN padrão. Todo o trabalho foi realizado no método principal (). Inicializamos uma variável inteira "n" com o valor 1. Um ponteiro do tipo inteiro "P" é usado para referência ao endereço "n" variável por meio do operador "&". A primeira declaração Cout está sendo usada para exibir o valor da variável "n" no shell através do ponteiro "P.”A próxima declaração Cout é utilizada para mostrar o valor de uma variável“ n ”no shell.
#incluir
usando namespace std;
int main ();
int n = 1;
int* p = & n;
cout<<"Address of n: "<cout<<"Value of n: "<<*p<
Você precisa compilar o novo código com o recém -instalado compilador G ++ do Ubuntu para a linguagem C ++. A partir de agora, nenhum erro foi reconhecido. Depois disso, executamos o código com o “./a.Comando de fora ”e obteve o endereço e o valor da variável“ n ”usando a desreferência do ponteiro.
$ g ++ dereferência.cc
$ ./a.fora
Exemplo 02:
Vamos ter outro exemplo um pouco diferente do exemplo acima. Portanto, o exemplo foi iniciado com o mesmo cabeçalho da biblioteca de fluxo de entrada e saída e o espaço de nome padrão "std" com a palavra-chave "usando". Agora, a função principal () é iniciada com a declaração e a inicialização de uma variável de string "V" com o valor da string "Linux.”Depois disso, declaramos um ponteiro do tipo string para executar a desreferência e relacioná-lo com a variável“ V ”através do operador“ & ”. A desreferência é utilizada aqui para buscar o valor de uma variável através do ponteiro. A única mudança é o valor de uma variável, eu.e., string em vez de um número inteiro. A primeira cláusula Cout é usada para exibir o endereço de uma variável "V", e a outra instrução Cout é utilizada para exibir o valor da variável "V.”Vamos salvar o script e executar nosso código.
#incluir
usando namespace std;
int main ();
String v = "Linux";
String *p = & v;
cout<<"Address of v: "<cout<<"Value of v: "<<*p<
O código foi compilado. Depois disso, executamos o código simples e obtivemos o endereço e o valor de uma variável "V" ao usar o método de desreferência através do ponteiro.
$ g ++ dereferência.cc
$ ./a.fora
Exemplo 03:
Vamos ter nosso último, mas não o menor, o código começou com o cabeçalho da biblioteca, eu.e., iostream e o espaço de nome padrão "std" mais uma vez. Declaramos duas variáveis inteiras dentro da função principal (), v1 e v2. Enquanto V1 é inicializado com o valor "5". As duas primeiras instruções cout exibem os valores atuais de V1 e V2 no shell, e o terceiro exibe o endereço do ponteiro “P”. A próxima declaração Cout nos diz que vamos realizar a desreferência agora. Então, usamos a instrução "p = & v1" para atribuir o endereço de uma variável V1 ao ponteiro P. Isso é chamado de desreferência. O ponteiro “P” é usado para mostrar o endereço e o valor da variável V1 no shell através das cláusulas Cout. Agora, estamos atribuindo o valor do ponteiro "P" (que é V1) para a variável v2. A declaração cout exibirá o valor de V2, e o ponteiro “P” é atribuído com um novo valor de 10. As últimas 4 declarações mostram os valores novos ou atuais de V1, V2 e Ponteiro “P.”
#incluir
usando namespace std;
int main ();
int v1 = 5, v2;
cout<<"Value of v1: "<cout<<"Value of v2: "< int *p;
cout<<"Value of pointer p: "<cout<<"************* After using p=&v1 ************** "<
p =&v1;
cout<<"Address of v1: "<cout<<"Value of v1: "<<*p<
v2 =*p;
cout<<"************* After using v2=*p ************** "<cout<<"Address of v2: "< *p = 10;
cout<<"************* After using *p=10 ************** "<cout<<"Address of p: "< cout<<"Value of p: "<<*p<
cout<<"Value of v1: "< cout<<"Value of v2: "<
Os valores iniciais de V1 e V2 foram exibidos junto com o endereço do ponteiro. Depois de "p = & v1", o endereço de "P" é substituído pelo de V1. Após o valor de referência "v2 =*p", a "p" é atribuído a V2. Usando “*p = 10”, o valor do ponteiro “P” se torna 10 e, devido à desreferência, V1 também se torna 10. Enquanto v2 e o endereço do ponteiro são os mesmos.
$ g ++ dereferência.cc
$ ./a.fora
Conclusão:
Então, isso foi tudo sobre como desreferenciar um ponteiro em c++. Usamos esse conceito para buscar os valores de uma variável e alterar ou atualizar o valor. Esperamos que forneçamos com sucesso conteúdo simples e fácil de entender.