Zwracaj ciąg z funkcji C ++

Zwracaj ciąg z funkcji C ++
Sposób na zidentyfikowanie serii ciąży jako członka klasy jest określony w definicji C ++. Klasa ciągów utrzymuje atrybuty jako strumień bitów, z możliwością obsługi charakteru jednopajtowego. W C ++ możemy odzyskać ciąg, ale powinniśmy nadal zbadać, w jaki sposób ciąg zostanie zachowany i przeniesiony ciąg. Ponieważ C ++ zwraca elementy sterty, która ma skończoną ilość miejsca, zapewnienie ogromnych komponentów wywoła problemy z przepełnieniem stosu, które mogą spowodować błędy i wady bezpieczeństwa.

Jeśli możemy zwrócić obiekt STD :: String z standardowej biblioteki szablonów, możemy podać stały wskaźnik do ciągu. Upewnij się, że ciąg jest zachowywany w pamięci statycznej. W tym artykule przedstawiono różne podejścia do zwrócenia ciągu z funkcji C ++.

Użyj techniki STD :: String Funkcja ()

Powrót według wartości jest preferowaną techniką podczas pobierania danych ciągów z funkcji. Po zwróceniu stosunkowo dużych strun według danych jest wydajne ze względu na konstruktor ruchu w klasie STD :: String Class. Mówiono, że element przeniósł treść semantyczną, jeśli zawiera konstruktor ruchu. Semantycy ruchu sugerują, że dane nie są zduplikowane do nowej pozycji, gdy funkcja powraca, co prowadzi do wydajnego czasu wykonywania funkcji.

#włączać
#włączać
#włączać
Używanie std :: cout; Używanie std :: endl;
za pomocą std :: ciąg; Używanie std :: odwrotnie;
String Revstring (String & s)
String Rev (s.rbegin (), s.rozdzierać());
zwrot rev;

int main ()
String str = "Uwielbiam grać w badmintona";
Cout << str << endl;
Cout << RevString(str) << endl;
return exit_success;

Na początku programu musimy dołączyć trzy pliki nagłówka. Dla funkcji wejściowych i wyjściowych. Określa zestaw funkcji, które mają być używane w grupach elementów. Każda sekwencja elementów, które można pobrać za pomocą iteratorów lub referencji, jest uważana za zakres. Jak sugeruje ich nazwa, są używane do działania z zestawem liczb. Nazywamy standardową funkcję „cout” do uzyskania wyjścia, standardową „endl”, która pokazuje, że program przechodzi z następnego wiersza, standardowy „ciąg”, który zawiera funkcje ciągów, oraz standardową „odwrotną”, która służy do pozyskiwania ciąg w kolejności odwrotnej.

Teraz funkcja „revstring ()” jest wywoływana. Tutaj przekazujemy zdefiniowany ciąg jako parametr tej funkcji. Stosujemy funkcje rbegin () i rend (). Rbegin () to wewnętrzna funkcja C ++, która zapewnia odwrócony iterator, który odnosi się do ostatniego komponentu listy. Rend () to wbudowana funkcja C ++ używana do zwrotu odwróconego iteratora, który prowadzi do punktu przed rozpoczęciem listy. Wprowadzamy instrukcję „Return Rev”, aby uzyskać odwrotność ciągu.

Stosujemy „Endl”, który pokazuje przeniesienie kursora do następnego wiersza kodu. Aby wydrukować odwróconą kolejność określonego ciągu, zastosowaliśmy „Revstring”. Ta funkcja zawiera wprowadzony ciąg jako jego argument. Ostatecznie „exit_success” jest stosowane do zakończenia programu.

Wykorzystaj technikę STD :: String & Function ()

Ta metodologia umożliwia stosowanie powrotu poprzez odwołanie formatu, który byłby innym sposobem rozwiązania tej sytuacji. Mimo że powrót przez iluzję jest najskuteczniejszą metodą odzyskiwania masywnych struktur lub klas, nie obejmowałoby to żadnego dodatkowego parametru w tym scenariuszu w porównaniu z wcześniejszą strategią. Ważne jest, aby pamiętać, że nie użylibyśmy odniesienia do zastąpienia zmiennej globalnej zdefiniowanej w funkcji; Spowoduje to utrzymanie.

#włączać
#włączać
#włączać
Używanie std :: cout; Używanie std :: endl;
za pomocą std :: ciąg; Używanie std :: odwrotnie;
String & Revstr (String & s)
Odwrotność (s.zaczyna się.koniec());
zwroty;

int main ()
String str = „Information Technology”;
Cout << str << endl;
Cout << RevStr(str) << endl;
return exit_success;

Przede wszystkim integrujemy trzy biblioteki> i dla określonych funkcji. Używamy standardowej funkcji „cout” do pobierania wyjściowego, standardowego „ENDL”, aby wskazać, że program kontynuuje następujący wiersz, standardowe „ciąg”, aby zachować funkcje ciągów, oraz standardowe „odwrotne”, aby uzyskać ciąg w odwrotnej kolejności. Wskaźnik ciągu „Revstr ()” jest teraz używany. Określony ciąg jest dostarczany jako parametr tej metody. Nazywamy funkcje początkowe () i end ().

Zastosujemy instrukcję „return s”, aby uzyskać odwrotność ciągu. Teraz zostanie wywołana funkcja main (). W tym miejscu deklarowana jest logika programu. Oświadczamy ciąg „Technologii informacyjnej”. Ten ciąg jest zapisywany w zmiennej „Str”. Instrukcja „cout” zostałaby użyta do uzyskania wydruku ciągu. Używamy również „Endl”, co oznacza, że ​​kursor przeniesie się na nowy wiersz kodu. „Revstring” został użyty do wyświetlania wymaganego ciągu w kolejności odwróconej.

Określony ciąg jest przekazywany jako parametr do tej metody. Na koniec program zakończył się sukcesem wyjścia z polecenia.'

Wykorzystaj metodę Char Tray

Podobnie moglibyśmy odzyskać ciąg z funkcji za pomocą tablicy znaków. Klasa ciągów wykorzystuje trwałą tablicę do przechowywania znaków. Wzywając wbudowaną metodę, możemy uzyskać odniesienie do pierwszego członka postaci tej tablicy.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

String str1 = "Uwielbiam grać w badmintona";
String str2 = „Information Technology”;
Char Ch [50];
str1.kopia (rozdz, 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;
powrót 0;

Tutaj wprowadzamy pliki nagłówka i do używania klasy stringowej. Wraz z tym używamy standardowej przestrzeni nazw. Zastosujemy funkcję main () i zaczynamy kodować w treści tej funkcji. Zainicjujemy dwa struny. Pierwszy ciąg jest przechowywany w zmiennej „STR1”, a drugi ciąg jest przechowywany w zmiennej „Str2”. Tablica postaci jest teraz zadeklarowana.

Określamy rozmiar tablicy znaków. Funkcja kopii () jest wywoływana. Podłoże w ukierunkowanej tablicy charytatywnej określonej w parametrach jest kopiowana przez tę metodę. Trzy argumenty to ukierunkowana tablica znaków, długość do powielania i punkt początkowy w ciągu w celu zainicjowania duplikatowania. Chcemy wyświetlić tę tablicę znaków, wykorzystując instrukcję „cout”.

Oba ciągi zostały pokazane przed zamianą za pomocą instrukcji „Cout”. Stosujemy funkcję swap (), która zamienia jedną zawartość łańcucha za pomocą drugiej. Po zamianie ponownie wchodzimy do „Cout”, aby uzyskać zamienione struny. Zastosuj „zwrot 0”, aby zakończyć kod.

Wniosek

Klasa ciągów w standardowej bibliotece C ++ zawiera wszystkie metody wymienione powyżej. W tym artykule widzieliśmy różnorodne metodologie zwracania łańcucha z funkcji w C++. Do opisania metodologii zastosowano różne instancje, w tym technika STD :: String & function () i technika STD :: String Funkcja ().