Wenn wir ein STD :: String -Objekt aus der Standard -Vorlagenbibliothek zurückgeben können, können wir einen konstanten Zeiger auf die Zeichenfolge geben. Stellen Sie fest, dass die Zeichenfolge im statischen Speicher beibehalten wird. Dieser Artikel beschreibt verschiedene Ansätze zur Rückgabe einer Zeichenfolge aus einer C ++ - Funktion.
Verwenden Sie die STD :: String Function () -Technik
Rückgabe nach Wert ist die bevorzugte Technik beim Abrufen von Zeichenfolgendaten aus Funktionen. Nach dem MOVE -Konstruktor in der STD :: String -Klasse sind relativ große Zeichenfolgen effizient zurückgegeben. Es wurde gesagt, dass ein Element den semantischen Inhalt verlegt hat, wenn es einen Bewegungskonstruktor enthält. MOVE-Semantics legen nahe, dass die Daten bei Rückgabe der Funktion nicht in eine neue Position dupliziert werden, was zu einer effizienten Funktionszeit für die Funktion führt.
#enthalten
#enthalten
#enthalten
Verwenden von STD :: Cout; mit std :: endl;
Verwenden von STD :: String; Verwenden von STD :: Reverse;
String Revstring (String & S)
String rev (s.rbegin (), s.zerreißen());
Return rev;
int main ()
String str = "Ich liebe es, Badminton zu spielen";
Cout << str << endl;
Cout << RevString(str) << endl;
return exit_success;
Zu Beginn des Programms müssen wir drei Header -Dateien aufnehmen. Für Eingangs- und Ausgangsfunktionen. Gibt eine Reihe von Funktionen an, die für Elementgruppen verwendet werden sollen. Jede Folge von Elementen, die mit Iteratoren oder Referenzen abgerufen werden können, wird als Bereich angesehen. Wie ihr Name schon sagt, werden verwendet, um mit einer Reihe von Zahlen zu arbeiten. Wir nennen die Standard -Cout -Funktion zum Abrufen von Ausgabe, Standard 'endl', das zeigt, dass das Programm aus der nächsten Zeile, Standard 'String', die die Funktionen der String enthält, und Standard 'Reverse', die zum Erwerb der verwendet werden Zeichenfolge in umgekehrter Reihenfolge.
Jetzt wird die Funktion 'revstring ()' aufgerufen. Hier übergeben wir die definierte Zeichenfolge als Parameter dieser Funktion. Wir wenden rbegin () und rend () Funktionen an. Der Rbegin () ist eine C ++ - intrinsische Funktion, die einen umgekehrten Iterator liefert, der sich auf die letzte Komponente der Liste bezieht. Der Rend () ist eine integrierte C ++-Funktion, mit der ein umgekehrter Iterator zurückgegeben wird, der vor dem Start der Liste zum Punkt führt. Wir geben die Anweisung "return rev" ein, um die Umkehrung der Zeichenfolge zu erhalten.
Wir wenden 'endl' an, was zeigt, dass der Cursor in die nächste Zeile des Codes wechselt. Um die umgekehrte Reihenfolge der angegebenen Zeichenfolge zu drucken, haben wir "Revstring" verwendet. Diese Funktion enthält die eingegebene Zeichenfolge als Argument. Am Ende wird 'exit_success' angewendet, um das Programm zu beenden.
Verwenden Sie die STD :: String & Function () -Technik
Diese Methodik ermöglicht die Verwendung der Rücksendung durch Referenzierung des Formats, was eine andere Möglichkeit wäre, diese Situation zu lösen. Obwohl die Rückkehr durch Illusion die effektivste Methode ist, um massive Strukturen oder Klassen abzurufen, würde dies im Vergleich zur vorherigen Strategie keinen zusätzlichen Parameter in diesem Szenario beinhalten. Es ist wichtig, sich daran zu erinnern, dass wir keinen Verweis verwenden würden, um eine in der Funktion definierte globale Variable zu ersetzen. Dies führt zu einer anhaltenden Referenz.
#enthalten
#enthalten
#enthalten
Verwenden von STD :: Cout; mit std :: endl;
Verwenden von STD :: String; Verwenden von STD :: Reverse;
String & Revstr (String & S)
Rückwärts (s.beginnt.Ende());
kehrt zurück;
int main ()
String str = "Informationstechnologie";
Cout << str << endl;
Cout << RevStr(str) << endl;
return exit_success;
Zunächst integrieren wir drei Bibliotheken> und für bestimmte Funktionen. Wir verwenden die Standard -Cout -Funktion, um die Ausgabe abzurufen, Standard 'endl'. Der Zeiger des String -Zeigers 'revstr ()' wird jetzt verwendet. Die angegebene Zeichenfolge wird als Parameter für diese Methode bereitgestellt. Wir nennen die Funktionen beginnen () und Ende ().
Wir verwenden die Erklärung von 'Return S', um die Umkehrung der Zeichenfolge zu erhalten. Jetzt wird die main () -Funktion aufgerufen. Hier wird die Logik des Programms deklariert. Wir deklarieren eine Zeichenfolge "Informationstechnologie". Diese Zeichenfolge wird in der Variablen "STR" gespeichert. Die Anweisung "Cout" würde verwendet, um den Druck des Zeichens zu erwerben. Wir verwenden auch 'endl'. "Revstring" wurde verwendet, um die erforderliche Zeichenfolge in umgekehrter Reihenfolge anzuzeigen.
Die angegebene Zeichenfolge wird als Parameter an diese Methode übergeben. Zuletzt endete das Programm mit dem Erfolg des Befehls "Exit -Erfolg".''
Verwenden Sie die Char -Array -Methode
In ähnlicher Weise könnten wir eine Zeichenfolge mit einem Zeichenarray aus einer Funktion abrufen. Die String -Klasse verwendet ein anhaltendes Array, um Zeichen zu halten. Durch das Aufrufen der integrierten Methode erhalten wir möglicherweise einen Hinweis auf das erste Zeichen Mitglied dieses Arrays.
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
String str1 = "Ich liebe es, Badminton zu spielen";
String str2 = "Informationstechnologie";
char ch [50];
STR1.Kopie (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;
Rückkehr 0;
Hier führen wir Header -Dateien ein und zur Verwendung der String -Klasse. Dabei haben wir einen Standard -Namespace verwendet. Wir verwenden die Main () -Funktion und beginnen mit der Codierung im Körper dieser Funktion zu codieren. Wir initialisieren zwei Saiten. Die erste Zeichenfolge wird in der Variablen 'str1' gehalten und die zweite Zeichenfolge wird in der Variablen 'Str2' gespeichert. Das Charakter -Array wird jetzt deklariert.
Wir geben die Größe des Zeichenarrays an. Die Funktion copy () heißt. Das Substring in dem in den Parametern angegebenen gezielten Zeichenarray wird nach dieser Methode kopiert. Die drei Argumente sind das gezielte Zeichenarray, die zu duplizierte Länge und der Ausgangspunkt in der Zeichenfolge, um das Duplikieren zu initiieren. Wir möchten dieses Zeichenarray mit der Anweisung "Cout" anzeigen.
Beide Saiten wurden vor dem Austausch mit der Anweisung "Cout" gezeigt. Wir wenden die SWAP () -Funktion an, die einen String -Inhalt mit einem anderen austauscht. Nach dem Austausch geben wir erneut 'Cout' ein, um die getauderten Saiten zu bekommen. Wenden Sie 'Rückgabe 0' an, um den Code zu beenden.
Abschluss
Die String -Klasse in der Standard -C ++ - Bibliothek enthält alle oben aufgeführten Methoden. In diesem Artikel haben wir eine Vielzahl von Methoden zur Rückgabe einer Zeichenfolge aus einer Funktion in C gesehen++. Es wurden verschiedene Instanzen verwendet, um die Methoden zu beschreiben, einschließlich der STD :: String & Function () -Technik und der STD :: String Function () -Technik.