Com a ajuda de exemplos, entenderemos a aprovação C ++ por abordagem de referência e como fornecer ponteiros como argumentos para funções neste artigo. Os parâmetros passados para funcionar como ponteiros são os mesmos que qualquer outro valor ao passar um valor por referência. Como resultado, você deve fornecer tipos de ponteiros para os argumentos da função, como na função swap (), que trocam os valores de várias variáveis inteiras abordadas por seus argumentos.
Exemplo 1: Programa de aprovação por referência sem ponteiros em C++
Aqui, passamos um valor por referência sem utilizar a declaração do ponteiro. Abaixo está o programa de ilustração para aprovar uma variável por referência.
Inicialmente, incluímos os arquivos do cabeçalho para a implementação do programa na seção de cabeçalho. Na próxima etapa, temos uma definição de função para trocar valores. A função recebe uma troca de nome e a função leva duas referências variáveis de string como um parâmetro. As variáveis de string que a função Swap aplicará são definidas como seqüências de referência "STR1" e "STR2".
Então, na função, criamos uma variável "Temp", que passamos a variável "str1". Depois disso, o "STR2" é atribuído a "STR1" e depois "STR2" tem o "STR2". Dessa forma, o algoritmo de troca é aplicado à sequência de referência.
Temos nossa principal função, onde duas strings são declaradas como "str_a" e "str_b" e inicializadas com alguns valores de string. Os valores da string serão impressos antes que a função de troca seja aplicada. Em seguida, invocamos a função de troca na função principal e passamos a string definida na função principal. Depois disso, a corda trocada será impressa.
#incluirO resultado mostra a string antes de trocar e depois de trocar pela sequência de referência passada na função.
Exemplo 2: Programa de aprovação por referência com ponteiros em C++
Como no exemplo anterior, vimos apenas a sequência de passagem por referência. Portanto, usaremos ponteiros por referência em C ++ neste exemplo.
O programa começa criando uma função que é representada com o nome "Swapstring" e passa por strings de dois pontos como um argumento. Então, chamamos a função principal do programa. Na função principal, as duas cordas são nomeadas "STR1" e "STR2", respectivamente. Essas variáveis de string são inicializadas com a sequência de palavras.
Em seguida, chamamos a função de "swapstring", para a qual as variáveis de string "STR1" e "STR2" são aprovadas. As cordas serão trocadas nesta definição de função na função principal e impressas. Depois disso, chamamos a função de "swapstring" fora da função principal para trocar as strings especificados.
#incluirPortanto, os resultados da passagem de referências de string com ponteiros são mostrados no gráfico a seguir.
Exemplo 3: Programa de aprovação do objeto String por referência em c++
Mesmo que uma função não possa modificar o objeto String de origem no programa de chamada, a passagem dos objetos C ++ String via referência é bastante comum. Os objetos geralmente são bastante grandes e, portanto, podem ser caros comparados à quantidade de armazenamento que eles usam e o tempo necessário para construir um clone deles ao passar por valor por valor. Então, geralmente, passar objetos por referência salva a memória e o tempo.
A única desvantagem de passar um objeto por referência é que ele pode alterar o objeto de origem que foi passado para a função. Isso não é desejado. Se não queremos atualizar um objeto na função, preferimos dificultar.
Temos uma definição de função no seguinte programa como "InputString", para o qual passamos a referência de string. Em seguida, declaramos um objeto String "Mystr" na função principal e a sequência de objeto "Mystr" contém uma string de uma palavra.
Depois disso, chamamos um "inputString" e passamos esse objeto de string para ele. Temos uma definição de função "InputString" fora da função principal, que cria uma nova referência de objeto de string do "mystr". A nova string é definida como "Newstr" e depois inicializada no corpo da função. Modificamos a sequência de objetos “Newstr” e imprimimos o novo objeto String.
#incluirO gráfico abaixo representa os valores resultantes da string da sequência de origem e a string alterada.
Exemplo 4: Programa de aprovação de um objeto de string constante por referência em c++
O compilador jogará uma falha se uma referência for passada para o objeto constante. Podemos resolver esse problema usando uma referência de variável constante. Isso impede que a variável para a qual os pontos de referência sejam alterados.
Primeiro, temos a definição de função "Displaystring", onde uma referência de string constante é passada. As cordas constantes são definidas e inicializadas na função principal como "str1" e "str2". Depois disso, passe essas seqüências constantes para a função "InputString". Invocou a função fora da função principal, onde declaramos uma variável de string constante “mystr”.
#incluirUm objeto não constante é passado para uma função através de uma referência de objeto constante. Portanto, não recebemos erros de compilação no código.
Conclusão
As referências permitem uma função afetar o valor de um argumento, que pode ser benéfico em algumas situações. Const referências, por outro lado, verifique se a função não altera o argumento. Assim, concluímos o artigo aqui com o exemplo de demonstração em C ++ e esperamos que possa ser útil.