Se possiamo restituire un oggetto STD :: String dalla libreria modello standard, possiamo fornire un puntatore costante alla stringa. Accertare che la stringa sia mantenuta nella memoria statica. Questo articolo delinea vari approcci per restituire una stringa da una funzione C ++.
Utilizza la tecnica std :: string function ()
Restituire per valore è la tecnica preferibile quando si recupera i dati di stringa dalle funzioni. Dopo aver restituito stringhe relativamente grandi per dati è efficiente a causa del costruttore di mossa nella classe STD :: String. È stato detto che un elemento ha trasferito il contenuto semantico se contiene un costruttore di mossa. Move-Semantics suggerisce che i dati non sono duplicati in una nuova posizione al termine della funzione, portando a un efficiente tempo di completamento della funzione.
#includere
#includere
#includere
usando std :: cout; usando std :: endl;
usando std :: string; usando std :: reverse;
String RevString (String & S)
String Rev (S.rbegin (), s.rend ());
restituzione di ritorno;
int main ()
String str = "Adoro giocare a badminton";
cout << str << endl;
cout << RevString(str) << endl;
restituire exit_success;
All'inizio del programma, dobbiamo includere tre file di intestazione. Per le funzioni di input e output. Specifica un insieme di funzioni destinate a essere utilizzate su gruppi di elementi. Qualsiasi sequenza di elementi che possono essere recuperati utilizzando iteratori o riferimenti è considerata un intervallo. Come suggerisce il loro nome, vengono utilizzati per operare con una serie di numeri. Chiamiamo la funzione "cout" standard per ottenere output, standard "endl", che mostra il programma del programma dalla riga successiva, "stringa" standard, che contiene le funzionalità della stringa e "inversa" standard che viene utilizzato per acquisire il stringa nell'ordine inverso.
Ora viene chiamata la funzione "RevString ()". Qui passiamo la stringa definita come parametro di questa funzione. Applichiamo funzioni rbegin () e rend (). RBEGIN () è una funzione intrinseca C ++ che fornisce un iteratore invertito che si riferisce all'ultimo componente dell'elenco. Rend () è una funzione C ++ incorporata utilizzata per restituire un iteratore invertito che porta al punto prima dell'inizio dell'elenco. Inseriamo l'istruzione "return rev" per ottenere il contrario della stringa.
Applichiamo 'endl', che mostra il cursore si sposta alla riga successiva del codice. Per stampare l'ordine invertito della stringa specificata, abbiamo utilizzato "RevString". Questa funzione contiene la stringa immessa come argomento. Alla fine, viene applicato "exit_success" per terminare il programma.
Utilizza la tecnica STD :: String & Function ()
Questa metodologia consente l'uso del ritorno dal formato di riferimento, che sarebbe un modo diverso di risolvere questa situazione. Anche se il ritorno per illusione è il metodo più efficace per recuperare strutture o classi enormi, ciò non implicherebbe alcun parametro aggiuntivo in questo scenario rispetto alla strategia precedente. È importante ricordare che non useremmo un riferimento per sostituire una variabile globale definita nella funzione; Ciò comporterà un riferimento persistente.
#includere
#includere
#includere
usando std :: cout; usando std :: endl;
usando std :: string; usando std :: reverse;
String & Revstr (String & S)
retromarcia (s.inizia.FINE());
ritorna;
int main ()
string Str = "Information Technology";
cout << str << endl;
cout << RevStr(str) << endl;
restituire exit_success;
Prima di tutto integriamo tre librerie> e per funzionalità specifiche. Utilizziamo la funzione "cout" standard per recuperare l'output, standard "endl" per indicare che il programma continua sulla riga seguente, "stringa" standard per conservare le funzioni della stringa e "invertire" standard per ottenere la stringa in ordine inverso. Il puntatore della stringa 'revstr ()' viene ora utilizzato. La stringa specificata viene fornita come parametro a questo metodo. Chiamiamo le funzioni inizia () e fine ().
Utilizziamo l'istruzione "return s" per ottenere l'inverso della stringa. Ora la funzione principale () verrà invocata. È qui che viene dichiarata la logica del programma. Dichiariamo una "tecnologia dell'informazione" stringa. Questa stringa viene salvata nella variabile "STR". L'istruzione "cout" verrebbe utilizzata per acquisire la stampa della stringa. Usiamo anche "endl", che indica che il cursore si sposterà sulla nuova riga di codice. "RevString" è stato utilizzato per visualizzare la stringa richiesta in ordine invertito.
La stringa specificata viene passata come parametro a questo metodo. Infine, il programma si è concluso con il successo dell'uscita del comando.'
Utilizzare il metodo Char Array
Allo stesso modo, potremmo recuperare una stringa da una funzione usando un array di caratteri. La classe String impiega un array persistente per contenere i personaggi. Invocando il metodo integrato, potremmo ottenere un riferimento al primo personaggio di quell'array.
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
String str1 = "Adoro giocare a badminton";
String Str2 = "Information Technology";
char ch [50];
STR1.copia (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.Swap (STR2);
cout << "After swapping the first string is : ";
cout << str1 << endl;
cout << "After swapping the second string is : ";
cout << str2 << endl;
restituzione 0;
Qui introduciamo file di intestazione e per l'utilizzo della classe String. Insieme a questo, abbiamo usato uno spazio dei nomi standard. Utilizziamo la funzione principale () e iniziamo la codifica nel corpo di questa funzione. Inizializziamo due stringhe. La prima stringa viene mantenuta nella variabile 'STR1' e la seconda stringa viene memorizzata nella variabile 'STR2'. L'array di caratteri è ora dichiarato.
Specifichiamo la dimensione dell'array di caratteri. La funzione Copy () si chiama. La sottostringa nell'array char mirato specificato nei parametri è copiata con questo metodo. I tre argomenti sono l'array di caratteri mirato, la lunghezza da duplicare e il punto di partenza nella stringa per iniziare il duplicamento. Vogliamo visualizzare questo array di caratteri utilizzando l'affermazione "cout".
Entrambe le stringhe sono state mostrate prima di scambiare usando l'istruzione "cout". Applichiamo la funzione swap (), che scambia un contenuto di stringa con un altro. Dopo lo scambio, entriamo di nuovo "Cout" per ottenere le corde scambiate. Applica 'return 0' per terminare il codice.
Conclusione
La classe String nella libreria C ++ standard include tutti i metodi sopra elencati. In questo articolo, abbiamo visto una varietà di metodologie per restituire una stringa da una funzione in C++. Varie istanze sono state utilizzate per descrivere le metodologie, inclusa la tecnica STD :: String & Function () e la tecnica STD :: String Function ().