O que é um ponteiro const em c++?

O que é um ponteiro const em c++?
A palavra "const" eu.e., Constante, significa "sem mudança" para qualquer valor variável dentro das linguagens de programação. O ponteiro da programação refere -se a uma variável que está apontando para algum endereço específico, provavelmente de algum endereço variável. O ponteiro constante será aquele que sempre apontará na direção do mesmo endereço. Isso significa que o endereço de uma variável para a qual o ponteiro está apontando não pode ser atualizado até agora. Portanto, neste artigo, veremos o que é um ponteiro constante em C ++ e como funciona. Então, vamos ter um bom começo.

Exemplo 01: Ponteiro

Vamos ter nosso primeiro exemplo para demonstrar como um ponteiro constante funciona na concha terminal. Comece abrindo o aplicativo de console do Shell em sua distribuição Linux. Você pode usar o atalho "Ctrl+Alt+T" no Ubuntu 20.04 Desktop para fazer isso. Logo após abrir o shell, vamos ter a criação de um novo arquivo C ++. Então, a consulta "touch" será usada aqui até agora. Mencione o nome de um arquivo na instrução "Touch" que você deseja criar com o ".Extensão CC ”.

Depois de criar um arquivo, você pode abrir seu arquivo facilmente da pasta doméstico do seu sistema Linux. Para editar e atualizá -lo dentro do shell, você deve usar alguns módulos do editor. Se você não tiver um, tente instalar o editor "GNU Nano" ou o editor Vim. Conforme mostrado na imagem anexada abaixo, usamos o editor "Nano" para abrir o recém -feito "Const.comando cc ”no shell.

$ touch const.cc
$ nano const.cc

O arquivo será aberto vazio no editor GNU Nano. Em nosso primeiro exemplo, veremos primeiro o funcionamento de uma variável de ponteiro simples para entender mais ponteiros constantes. Então, adicione as bibliotecas necessárias, eu.e., Cabeçalho padrão de fluxo de entrada e saída e cabeçalho do stdio, usando a palavra-chave "incluir" com um sinal de hash no início. Você tem que definir o espaço de nome padrão com a palavra "usando". Depois disso, o método principal () será iniciado, pois precisamos fazer todo o trabalho dentro dele. Além disso, a compilação e a execução começam daqui. Inicialize uma variável inteira "A" com um valor inteiro atribuído a ele, eu.e., 98.

O fluxo "cout" é usado para exibir o valor da variável "a". Depois disso, um ponteiro inteiro "PTR" foi inicializado, apontando para o endereço da variável inteira "a". Devido a este ponteiro, podemos alterar a variável "A", pois ambos não são constantes agora. Depois disso, o ponteiro "PTR" foi exibido, eu.e., endereço da variável "a". Na próxima linha, usamos o operador de incremento para incrementar o valor do valor do endereço do ponteiro "PTR", pois está apontando para o endereço da variável "a".

O ponteiro "PTR" foi exibido mais uma vez com a ajuda do fluxo "cout". O próximo fluxo "cout" é usado para exibir o valor "A" da variável mais uma vez, eu.e., incrementado. O código termina aqui. Salve o código recém -criado e deixe o editor do GNU Nano usando o "Ctrl+S" e "Ctrl+X" do teclado.

Vamos compilar este código C ++ recém -fabricado primeiro. Use o compilador "g ++" para fazer isso. Se você não tem um já instalado em seu sistema, tente configurá -lo primeiro. Após a compilação ter sucesso, faça seu código executar usando o “./a.out ”comando. Você verá, como a primeira declaração "cout" foi executada, ele exibirá o valor de uma variável "a" i.e., 98.

Após a execução de um segundo e terceiro fluxo de "cout", ele exibiu o mesmo endereço salvo no ponteiro "PTR", que está apontando para a variável "a". O incremento foi executado no valor de uma variável "A" através do ponteiro "PTR". Assim, após a execução de uma 4ª declaração "cout", o valor de incremento de uma variável "A" foi mostrado na tela do terminal.

$ g ++ const.cc
$ ./a.fora

Exemplo 02: Ponteiro constante para inteiro

Isso era tudo sobre o simples ponteiro apontando para algum endereço variável. Agora, vamos dar uma olhada no exemplo de usar um ponteiro do tipo constante para apontar para alguma variável. Como sabemos, a palavra constante significa "sem mudança" quando é aplicada a alguma variável. Então, nós o usaremos como uma variável de ponteiro para ver como um ponteiro constante se comportará em determinadas situações. Assim, abrimos o mesmo arquivo com o editor "GNU Nano" e atualizamos um pouco seu código.

A linha de inicialização de um ponteiro foi atualizada com a palavra "const" junto com o sinal "*" no início. Certifique -se de usá -lo após o tipo de dados "int" na inicialização de um ponteiro "cptr". Em seguida, usamos a declaração "cout" para incrementar o valor da variável "A", pois o ponteiro "CPTR" está apontando para ela. A próxima declaração de cout foi inicializada para incrementar o ponteiro "CPTR" em si. Isso causará o erro de compilação como o próprio "CPTR" é constante. O restante do código é deixado inalterado e salvo usando o "ctrl+s".

Quando compilamos o código da const.Arquivo CC, ele nos dá o erro na linha 10. Como o ponteiro era constante, o erro afirma que o "CPTR" é somente leitura e não pode ser incrementado como esperado.

$ g ++ const.cc

Quando compilamos o código, a variável "A" foi exibida com seu valor original e atualizado. Embora o endereço do ponteiro "CPTR" tenha sido o mesmo e não modificado.

$ ./a.fora

Exemplo 03: Ponteiro constante para inteiro constante

Dentro deste exemplo, estaremos pegando o ponteiro e o número inteiro apontando como constante. Isso significa que ambos não podem ser atualizados. Então, abra o mesmo arquivo para fazer isso. Inicializamos um número inteiro constante “B” com um valor de 13. Esta variável foi exibida através da declaração "cout". Em seguida, inicializamos um ponteiro constante do tipo "cptrc" apontando para a variável constante "b" com o sinal "&". A cláusula Cout é usada para exibir o ponteiro "CPTRC". Depois disso, a variável constante "B" valor será incrementada pela variável constante "CPTRC".

Na próxima linha consecutiva, o ponteiro "CPTRC" foi incrementado. Ambas as linhas de incremento mostrarão o erro na compilação. As duas últimas declarações cout são utilizadas para exibir o valor do valor variável constante e o ponteiro constante.

Depois de compilar o código, recebemos um erro nas duas linhas de incremento, eu.e., 9 e 10.

$ g ++ const.cc

Assim, após a execução do Código com a ajuda de um “./a.instruções de fora, obtivemos o resultado antigo do último exemplo, e o código não foi executado.

$ ./a.fora

Conclusão:

Finalmente, fizemos o funcionamento de variáveis ​​constantes em c++. Discutimos os exemplos de indicações simples, dicas constantes para inteiros e indicadores constantes a inteiros constantes para melhorar o nível de entendimento sobre os ponteiros. Utilizamos a declaração "cout", os operadores de incremento e os operadores para atingir esse objetivo. Esperamos que este artigo seja igualmente benéfico para usuários novos e já experientes de C ++ no Ubuntu 20.04 Sistema.