Retorne a string da função C ++

Retorne a string da função C ++
Uma maneira de identificar uma série de strings como um membro da classe é especificada na definição de C ++. A classe String detém atributos como um fluxo de bits, com a capacidade de lidar com um caractere de um byte. Em C ++, podemos recuperar uma string, mas ainda devemos examinar como a string será retida e transferida. Como o C ++ retorna elementos na pilha, que têm uma quantidade finita de espaço, fornecendo componentes imensos induzirão problemas de transbordamento de pilha que podem resultar em erros e falhas de segurança.

Se pudermos retornar um objeto STD :: String da biblioteca de modelos padrão, podemos fornecer um ponteiro constante para a string. Verifique se a string é retida na memória estática. Este artigo descreve várias abordagens para devolver uma string de uma função C ++.

Utilize a técnica std :: string function ()

O retorno por valor é a técnica preferível ao recuperar dados de string de funções. Tendo retornado strings relativamente grandes por dados é eficiente devido ao construtor de movimentos na classe STD :: String. Foi dito que um elemento mudou o conteúdo semântico se contiver um construtor de movimentos. Move-semantics sugerem que os dados não são duplicados a uma nova posição quando a função retornar, levando a um tempo de conclusão da função eficiente.

#incluir
#incluir
#incluir
usando std :: cout; usando std :: endl;
usando std :: string; usando std :: reverse;
String RevString (String & S)
String Rev (S.rbegin (), s.rend ());
retornar rev;

int main ()
string str = "eu amo jogar badminton";
cout << str << endl;
cout << RevString(str) << endl;
return exit_success;

No início do programa, precisamos incluir três arquivos de cabeçalho. Para funções de entrada e saída. Especifica um conjunto de funções destinadas a serem usadas em grupos de elementos. Qualquer sequência de itens que possa ser recuperada usando iteradores ou referências é considerada um intervalo. Como o nome indica, estão sendo usados ​​para operar com um conjunto de números. Chamamos a função padrão de 'cout' para obter a saída, padrão 'endl', que mostra que o programa prossegue da próxima linha, 'string padrão', que mantém as funcionalidades da string e a 'reversa' padrão que é usada para adquirir o string na ordem inversa.

Agora a função 'RevString ()' está sendo chamada. Aqui passamos a sequência definida como um parâmetro desta função. Aplicamos funções rbegin () e rend (). O rBegin () é uma função intrínseca C ++ que fornece um iterador invertido que se refere ao último componente da lista. O rend () é uma função C ++ integrada usada para retornar um iterador invertido que leva ao ponto antes do início da lista. Entramos na declaração 'Return Rev' para obter o inverso da string.

Aplicamos 'endl', que mostra o cursor se move para a próxima linha do código. Para imprimir a ordem invertida da string especificada, utilizamos 'Revstring'. Esta função contém a string inserida como seu argumento. No final, 'exit_success' é aplicado para encerrar o programa.

Utilize a técnica std :: string & function ()

Essa metodologia permite o uso do retorno referente ao formato, o que seria uma maneira diferente de resolver esta situação. Embora o retorno da ilusão seja o método mais eficaz para recuperar estruturas ou classes maciças, isso não envolveria nenhum parâmetro adicional nesse cenário em comparação com a estratégia anterior. É importante lembrar que não usaríamos uma referência para substituir uma variável global definida na função; Isso resultará em uma referência remanescente.

#incluir
#incluir
#incluir
usando std :: cout; usando std :: endl;
usando std :: string; usando std :: reverse;
String & Revstr (String & S)
reverso (s.BEGIN (), S.fim());
retorno s;

int main ()
String str = "Tecnologia da informação";
cout << str << endl;
cout << RevStr(str) << endl;
return exit_success;

Primeiro de tudo, integramos três bibliotecas>, e para funcionalidades específicas. Utilizamos a função 'cout' padrão para recuperar a saída, padrão 'endl' para indicar que o programa continua na linha a seguir, padrão 'string' para reter as funções da sequência e o 'reverso' padrão para obter a string em ordem inversa. O ponteiro da string 'Revstr ()' agora está sendo usado. A sequência especificada é fornecida como um parâmetro para este método. Chamamos as funções começam () e end ().

Empregamos a declaração 'Return s' para obter o inverso da string. Agora a função principal () será invocada. É aqui que a lógica do programa é declarada. Declaramos uma string 'Tecnologia da informação'. Esta string é salva na variável 'str'. A declaração 'cout' seria usada para adquirir a impressão da string. Também usamos 'endl', que denota que o cursor mudará para a nova linha de código. 'Revstring' foi usado para exibir a string necessária em ordem invertida.

A sequência especificada é passada como um parâmetro para este método. Por fim, o programa terminou com o sucesso de saída do comando.'

Utilize o método de matriz de char

Da mesma forma, poderíamos recuperar uma string de uma função usando uma matriz de caracteres. A classe String emprega uma matriz persistente para segurar os personagens. Ao invocar o método interno, podemos obter uma referência ao primeiro membro do personagem dessa matriz.

#incluir
#incluir
usando namespace std;
int main ()

string str1 = "eu amo jogar badminton";
string str2 = "tecnologia da informação";
CHAR CH [50];
STR1.cópia (ch, 13, 0);
cout << "The new copied character array is : ";
cout << ch << endl;
cout << "Before swapping the first string is : ";
cout << str1 << endl;
cout << "Before swapping the second string is : ";
cout << str2 << endl;
STR1.troca (STR2);
cout << "After swapping the first string is : ";
cout << str1 << endl;
cout << "After swapping the second string is : ";
cout << str2 << endl;
retornar 0;

Aqui, apresentamos arquivos de cabeçalho e para usar a classe String. Junto com isso, estamos usando um espaço de nome padrão. Empregamos a função principal () e começamos a codificar no corpo desta função. Inicializamos duas cordas. A primeira string é mantida na variável 'str1' e a segunda sequência é armazenada na variável 'str2'. A matriz de personagens agora é declarada.

Especificamos o tamanho da matriz de caracteres. A função copy () é chamada. A substring na matriz de char direcionada especificada nos parâmetros é copiada por este método. Os três argumentos são a matriz de caracteres direcionados, o comprimento a ser duplicado e o ponto de partida na string para iniciar a duplicação. Queremos exibir esta matriz de caracteres utilizando a declaração 'cout'.

Ambas as cordas foram mostradas antes de trocar usando a declaração 'cout'. Aplicamos a função swap (), que troca um conteúdo de string com outro. Depois de trocar, entramos novamente 'cout' para obter as cordas trocadas. Aplicar 'Return 0' para encerrar o código.

Conclusão

A classe String na biblioteca C ++ padrão inclui todos os métodos listados acima. Neste artigo, vimos uma variedade de metodologias para devolver uma string de uma função em c++. Várias instâncias foram usadas para descrever as metodologias, incluindo a técnica STD :: String & Function () e a técnica std :: string function ().