O que é const referência em c ++

O que é const referência em c ++
Em C ++, as referências são como ponteiros, mas têm diferenças distintas. Em primeiro lugar, as referências não podem receber um valor nulo. Em segundo lugar, operações aritméticas não podem ser realizadas em referências. Em terceiro lugar, uma vez que uma referência é inicializada, não pode ser feita para se referir a outra variável. Além disso, as referências não podem ser desreferenciadas com o operador (*).

Quando se trata de transmitir argumentos para funções, há três maneiras de fazê -lo:

  • Passar por valor
  • Passe por referência
  • Passe por const referência

Neste tutorial, discutiremos especificamente const Referência, sua declaração e sua implementação em detalhes.

O que é const referência em c++?

Uma referência const em C ++ é uma referência com a palavra -chave const. É simplesmente uma referência a constantes. Quando inicializamos uma const referência, o valor que os pontos de referência const não podem ser alterados e permanecerá inalterado ao longo do código.

Declarando uma referência como const é útil em situações em que queremos evitar alterações no objeto que está sendo referido, enquanto ainda permite acesso eficiente ao valor do objeto.

Como declarar const referência em c++?

Em c++, const Referência pode ser declarado das seguintes maneiras:

  • Como parâmetros de função
  • Como variáveis ​​de membro da classe
  • Como variável local

1: Declare a referência const como parâmetros de função

Quando declaramos uma função para fazer uma referência const como um parâmetro, ele pode ler o valor do objeto referenciado, mas não pode modificá -lo. Isso é útil quando queremos passar um objeto para uma função sem permitir que a função o modifique.

A seguir, o código para esse caso:

#incluir
void printValue (const int & value)
std :: cout << "The value is: " << value << std::endl;

int main ()
int val = 15;
PrintValue (Val);
retornar 0;

Esta é uma função chamada PrintValue que leva uma referência constante a um número inteiro como um parâmetro e imprime o valor do número inteiro para o console.

Saída

2: Declare a const referência como variáveis ​​de membro da classe

Quando uma variável de membro da classe é declarada como uma referência const, ela pode ser inicializada na lista de inicialização do construtor e depois usada em toda a classe sem ser modificada. Isso pode ajudar a melhorar a eficiência do código, evitando cópias e modificações desnecessárias de objetos.

A seguir, o código para esse caso:

#incluir
classe myclass
público:
MyClass (const int & value): m_value (value)
void printValue () const
std :: cout << "The value is: " << m_value << std::endl;

privado:
const int & m_value;
;
int main ()
int val = 15;
MyClass MyObject (Val);
MyObject.printValue ();
retornar 0;

O código acima define uma classe que possui um construtor que requer uma referência constante a um número inteiro como um parâmetro e inicializa uma variável de membro privado m_value com ele. A classe também possui uma função de membro PrintValue que imprime o valor de M_Value no console. Na função principal, um objeto do tipo MyClass é criado com um valor inteiro 15, e sua função PrintValue é chamada para imprimir o valor do console.

Saída

3: Declare a const referência como variáveis ​​locais

Uma referência const também pode ser usada como uma variável local para fazer referência a um objeto existente sem fazer uma cópia.

A seguir, o código para esse caso:

#incluir
int main ()
int val = 15;
const int & ref = val;
std :: cout << "Value: " << val << std::endl;
std :: cout << "Reference: " << ref << std::endl;
retornar 0;

No código acima, declaramos um valor variável inteiro e inicializamos com o valor 15. Em seguida, declaramos uma referência constante a uma referência inteira e a inicializamos com o valor do valor.

Saída

Conclusão

A referência const é um recurso útil no C ++, que age como um ponteiro, mas com algumas diferenças importantes. Ele não pode modificar o valor da variável à qual está conectado e pode ser usado de várias maneiras, como parâmetros de função, variáveis ​​de membro da classe e variáveis ​​locais. Para entender melhor os casos de uso de const referências em C ++, este artigo fornece diretrizes detalhadas com exemplos de codificação para cada uma dessas maneiras.