C ++ stdforward

C ++ stdforward
Uma das funções C ++ essencial, a função Forward (), será abordada na lição de hoje. Para garantir que todos os aspectos da função sejam entendidos claramente, também usaremos alguns exemplos. Mas primeiro, vamos revisar rapidamente a linguagem de programação C ++, os fundamentos das funções e a lógica por trás da implementação da função Forward ().

A base da linguagem de programação C ++ é fundada nos conceitos de programação orientada a objetos (OOP). O usuário pode construir e entender facilmente os princípios do programa, pois o C ++ tem uma estrutura adequada. Além disso, como as funções são partes concisas de código, o princípio foi esclarecido no C ++ para que possa ser usado em qualquer lugar dentro de um programa de corrida.

Introdução

Na linguagem C ++, a função Forward () funciona de maneira semelhante à função move () como ambas são usadas para implementar a semântica de movimentos. Na função forward (), ele aceita um valor de encaminhamento como valor de entrada e, em seguida. E em troca, se dará o tipo adequado de referências com o argumento do modelo t ou não. A função forward () é usada para fazer o encaminhamento perfeito. Quando uma referência de Rvalue é atribuída a uma variável ref, REF se torna uma entidade nomeada. Embora o REF seja uma referência de Rvalue, ela se enquadra na categoria LValue. Como resultado, a cópia semântica em vez de mover semântica é empregada para referências.

Sintaxe

A função lValue () é um modelo de valor esquerdo na função Forward () e é a palavra -chave predefinida na linguagem C ++ que é usada para iniciar um modelo de classe. Em seguida, é seguido por quaisquer parâmetros de modelo que estejam contidos dentro de a e a declaração de classe. O parâmetro de modelo "T" e a palavra -chave "classe" são espaços reservados para os tipos de dados usados ​​na declaração. Vamos passar este parâmetro "T" e chamar a função Forward () e passar o tipo e argumento. A função RETROPT_REFERENCE () é uma parte da biblioteca padrão C ++. A função rvalue () é o modelo de valor certo na função forward (). Uma variável ref se transforma em um objeto nomeado quando uma referência de rvalue é aplicada a ele. Mesmo que o juiz seja uma referência a um Rvalue, ele pertence à classe LValue.

Parâmetros:

arg: é um argumento de entrada e é usado para passar na função forward ().

Valor de retorno:

Em troca, obteremos a referência Rvalue (valor direito) se não obtivéssemos a referência LValue (Valor esquerdo).

Exemplo 01:

Agora, vamos começar a implementar nosso primeiro exemplo de uma das funções que é a função de Forwarding () na linguagem C ++. Para começar a escrever o código que queremos implementar na linguagem de programação C ++, sempre precisamos de um compilador onde escrevemos o código e executamos o código. Portanto, para isso, você pode instalar qualquer compilador da linguagem C ++, ou também pode usar o compilador on -line para escrever e executar o código se for compatível com as bibliotecas que você usará no programa.

#incluir
#incluir
usando namespace std;

Depois de abrir o compilador C ++, agora você pode começar a escrever o código. Nos programas C ++, sempre precisamos incluir arquivos de cabeçalho no programa para que possamos chamar facilmente a função que vamos usar no programa em qualquer lugar. Essas bibliotecas são as bibliotecas internas da linguagem de programação C ++. Nós simplesmente precisamos escrever apenas uma linha de código para incluir essas bibliotecas. A primeira biblioteca que sempre incluiremos no programa C ++ é a biblioteca “iSteam”, que é usada para obter informações do usuário e também podemos exibir os dados através da biblioteca “iosteam”. Para ligar para a biblioteca, primeiro escrevemos o símbolo "#" que dirá ao compilador que vamos acessar a biblioteca. Em seguida, escreveremos a palavra -chave "incluir", que é a palavra -chave predefinida que instruirá o compilador a que estamos incluindo a biblioteca. E no símbolo, escreveremos o nome da biblioteca que estamos importando no programa que é iostream ”.

Incluiremos a segunda biblioteca interna do programa que estamos usando que é "utilidade". A biblioteca "utilitária" é usada para definir alguns modelos que são usados ​​frequentemente em toda a Biblioteca de Modelos Padrão (STL) em todo o programa existente. Além disso, estávamos usando a regra "Usando namespace std" para impedir que objetos, métodos e parâmetros compartilhem o mesmo domínio em todo o restante do programa.

Void sobrecarregado (int const & a)

cout<< "[lvalue]";

vazio sobrecarregado (int && a)

cout<< "[rvalue]";

modelo
T para a frente (t && a)

sobrecarregado (a);
sobrecarregado (para a frente (a));

Implementamos a função global, que é um dos métodos únicos orientados a objetos, nos quais declaramos a função fora da função principal () e, em seguida, simplesmente chamamos a função na função principal () e passamos as variáveis ​​declaradas nela para que nós Obtenha a saída desejada. Primeiro, escreveremos o tipo de dados da função que estamos implementando que é "vazio", o que significa que a função não retorna nenhum valor.

Em seguida, escreveremos o nome da função que vamos implementar "sobrecarga () função" ANS e passaremos o parâmetro nele. Na função de sobrecarga () imprimimos a mensagem b usando o método cout (). A função sobrecarregada () significa que você pode fornecer várias funções com o mesmo nome no mesmo espaço de nome. Com funções sobrecarregadas, você pode fornecer um método várias semânticas com base nos tipos e quantidades de seus parâmetros. Como você vê, implementamos mais uma função com o mesmo nome "sobrecarregado" no mesmo programa e passamos o parâmetro nele.

Em seguida, implementamos a função de modelo predefinida () no programa para que possamos retornar o resultado de qualquer tipo de dados. E chamamos a função sobrecarregada (). Como você viu, a função Sobrecarregada () é "int" do tipo, e é por isso que implementamos a função de modelo (), se inserirmos o valor de qualquer tipo para que o compilador não gere nenhum erro no programa.

Em seguida, iniciaremos a função principal () onde declararemos a variável e acessaremos as funções globais acima aqui. Primeiro, declaramos as duas variáveis ​​do tipo int e atribuímos o valor a eles. Declaramos outra variável do tipo "int" nomeado e armazenamos a expressão add em "res". Em seguida, imprimimos a variável "res" e também passamos a variável "res" na função forward () para obter o LValue e na próxima chamada de função (), obteremos a referência de LValue e Rvalue.

int main ()
int a = 30, b = 23;
int res = a+b;
cout<< res << " is a: ";
encaminhamento (res);
cout<cout<para a frente (a+b);
cout<retornar 0;

E no final da função principal (), retornaremos 0 à função Main () para que ela dirá ao compilador que queremos interromper a execução do programa e mostrar a saída do programa.

Conclusão

Neste artigo, aprendemos sobre a função Forward (), que é a função interna da linguagem de programação C ++. Também aprendemos sobre o que é a sobrecarga e também sobre a função modelo () da linguagem C ++. Implementamos um exemplo da função Forward () e usamos a função de modelo ().