Como implementar chamada por referência em C ++



Este artigo fornecerá a você um conhecimento detalhado de Call by Reference em C ++ com implementações e como ele difere de Call by Value.

Trabalhar com C ++ não é uma tarefa difícil se você já tem experiência em C, já que ambos compartilham muitos conceitos um com o outro. Mas, C ++ tem alguns conceitos que não fazem parte do paradigma C. Neste artigo Call by Reference in C ++, falaremos sobre um desses conceitos que são as variáveis ​​de referência e seus aplicativos na seguinte ordem:

Variáveis ​​de Referência

C ++ nos dá um novo tipo de variável, ou seja, uma variável de referência. Podemos pensar em uma variável de referência como um apelido para nossa variável original. Essa é a funcionalidade exata de uma variável de referência em uma linha.





Por exemplo, se seu nome é Harrison, mas está em casa, seus familiares o chamam de Harry. Agora vamos ver alguns detalhes das variáveis ​​de referência. A declaração e o uso deste tipo de variável são diferentes das variáveis ​​usuais que usamos, mas muito semelhantes às variáveis ​​de ponteiro.

Sintaxe:



int Hello = 1 int * ptr int & World = Hello

Quando criamos uma variável ‘Hello’ contendo o valor ‘1’, um segmento de memória é usado para danificar o valor ‘1’, o nome deste segmento será ‘Hello’ e o endereço deste segmento será algum valor hexadecimal, por exemplo0x64. quando escrevemosint& World = OláA variável ‘World’ é criada apontando para o mesmo local de memória.

Incluir a linha World ++ fará alterações no endereço 0x64, o que significa que o valor da variável ‘Hello’ também mudará. Alguns podem apontar que como são variáveis ​​de referência diferentes das variáveis ​​de ponteiro que iremos discutir na última parte deste artigo.

Chamada por valor e chamada por referência em C ++

Chamada por valor: Chamada por valor é um método amplamente utilizado. Na maioria das vezes, você usará a abordagem chamada por valor, pois não deseja que seus valores originais das variáveis ​​sejam alterados. Portanto, usamos o método call by value para chamar uma função, apenas os valores das variáveis ​​são passados. Isso é obtido criando variáveis ​​fictícias na memória.



#include usando namespace std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Chamada por valor em C ++

Pela imagem acima, podemos ver que assim que chamamos a função add (), os valores das variáveis ​​xey são copiados para as variáveis ​​a e b. A e b são variáveis ​​dummy.

Chamada por referência: Agora, vamos falar sobre o método de chamada por referência. Neste método, variáveis ​​dummy separadas não são criadas, uma referência de uma variável já existente é passada para o método. Esta referência aponta para o mesmo local da memória, portanto, cópias separadas não são feitas na memória. O ponto importante a se notar aqui é que as alterações feitas nas variáveis ​​de referência são refletidas na variável dummy.

#include usando namespace std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {if (a 

Como podemos ver que a função acima parece diferente em comparação com as funções normais, uma vez que o tipo de retorno é ‘int &’. Esta função retorna uma referência a a ou b dependendo da condição. O ponto importante a notar aqui é que os valoresnão são devolvidos.

Se chamarmos a função min (x, y) = 10. 10 será atribuído ax se for mínimo ou ay se y for mínimo.

Chamada por Referência Vs Ponteiro

Em todos os nossos exemplos que vimos, sempre atribuímos um valor à variável de referência que criamos, já que as variáveis ​​de referência não podem ser NULL, enquanto as variáveis ​​de ponteiro podem ser NULL e podem causar erros inesperados.

Variáveis ​​de referência não podem ser reatribuídas enquanto variáveis ​​de ponteiro podem apontar para alguma outra variável posteriormente no programa.

Uma variável de ponteiro contém o valor do endereço de uma determinada variável, enquanto o endereço da variável de referência é o mesmo da variável à qual está se referindo.

Com isso, chegamos ao fim deste artigo Chamada por referência em C ++. Espero que você tenha entendido as várias implementações da chamada por valor e referência e como ambos diferem.

o que é jframe em java

Se você deseja saber mais, confira o pela Edureka, uma empresa de aprendizagem online confiável. O curso de certificação e treinamento em Java J2EE e SOA da Edureka foi projetado para treiná-lo tanto para conceitos básicos quanto avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog e entraremos em contato com você o mais breve possível.