strings pair tuples stl
Szybko poznaj podstawowe pojęcia dotyczące ciągów, par i krotek w STL.
W tym samouczku zdobędziemy podstawową wiedzę na temat łańcuchów, par i krotek w STL, zanim przejdziemy do szczegółowych i większych pojęć, takich jak iteratory, algorytmy i kontenery.
Chociaż ciągi są używane w taki sam sposób, jak w ogólnym języku C ++, warto to omówić z punktu widzenia STL. Możemy myśleć o łańcuchach jako o sekwencyjnym pojemniku znaków. Ponieważ mamy do czynienia z klasami szablonów w STL, konieczne jest, abyśmy znali koncepcje PARA i TUPLE w odniesieniu do STL.
=> Zobacz szczegółowe samouczki szkoleniowe C ++ tutaj.
Czego się nauczysz:
Ciągi w STL
Ciągi znaków w STL obsługują zarówno format ASCII, jak i Unicode (szerokie znaki).
STL obsługuje dwa typy ciągów:
# 1) ciąg: To jest ciąg znaków w formacie ASCII i aby uwzględnić ten typ obiektów typu string w programie, musimy dołączyć plik string.h do naszego programu.
#include
# 2) Wstring: To jest ciąg znaków szerokich. W programowaniu MFC nazywamy to CString. Aby dołączyć obiekty wstring do naszego programu, dołączamy plik xstring.
#include
Niezależnie od tego, czy jest to ASCII, czy Unicode, ciągi znaków w STL obsługują różne metody, tak jak robią to inne kontenery STL.
Niektóre z metod obsługiwanych przez obiekt string to:
- zaczynać() : Zwróć iterator na początku.
- koniec() : Zwróć iterator na końcu.
- wstawić() : Wstaw w ciąg.
- wymazać() : Usuń znaki z ciągu.
- rozmiar() : Zwraca długość łańcucha.
- pusty() : Opróżnij zawartość ciągu.
Oprócz metod opisanych powyżej, omówiliśmy już metody klas ciągów we wcześniejszych ciągach znaków w samouczkach C ++.
Napiszmy prosty program do zademonstrowania ciągów STL.
najlepsze darmowe oprogramowanie do czyszczenia komputera
#include #include using namespace std; int main() { string str1; str1.insert(str1.end(),'W'); str1.insert(str1.end(),'O'); str1.insert(str1.end(),'R'); str1.insert(str1.end(),'L'); str1.insert(str1.end(),'D'); for (string::const_iterator it = str1.begin(); it != str1.end(); ++it) { cout << *it; } int len = str1.size(); cout<<'
Length of string:'< Wynik:
ŚWIAT
Długość sznurka: 5
W powyższym kodzie, jak widzieliśmy, deklarujemy obiekt typu string str1, a następnie za pomocą metody insert dodajemy po kolei znaki na końcu łańcucha. Następnie używając obiektu iteratora, wyświetlamy ciąg.
Następnie wyprowadzamy długość łańcucha za pomocą metody size. To jest prosty program do demonstrowania samych łańcuchów.
PARUJ W STL
Klasa PAIR w STL jest przydatna podczas programowania kontenerów asocjacyjnych. PAIR to klasa szablonu, która grupuje dwie wartości tego samego lub różnych typów danych.
Ogólna składnia to:
pair pair1, pair2;
Powyższy wiersz kodu tworzy dwie pary, tj. Pair1 i pair2. Obie te pary mają pierwszy obiekt typu T1 i drugi obiekt typu T2.
T1 jest pierwszym członem, a T2 drugim członem pary1 i pary2.
Poniżej przedstawiono metody obsługiwane przez klasę PAIR:
- Operator (=): Przypisz wartości do pary.
- zamiana: Zamienia zawartość pary.
- make_pair (): Tworzy i zwraca parę zawierającą obiekty zdefiniowane przez listę parametrów.
- Operatory (==,! =,>,<, = ) : Porównuje dwie pary leksykograficznie.
Napiszmy podstawowy program, który pokaże użycie tych funkcji w kodzie.
#include using namespace std; int main () { pair pair1, pair3; pair pair2; pair1 = make_pair(1, 2); pair2 = make_pair(1, 'SoftwareTestingHelp'); pair3 = make_pair(2, 4); cout<< '
Pair1 First member: '< Wynik:
Para1 Pierwszy członek: 1
Pair2 Drugi członek: SoftwareTestingHelp
Pary nie są równe
W powyższym programie tworzymy po dwie pary typu integer oraz drugą parę typu integer i string. Następnie za pomocą funkcji „make_pair” przypisujemy wartości do każdej pary.
Następnie porównujemy parę1 i parę2 za pomocą operatora „==”, aby sprawdzić, czy są równe, czy nie. Ten program demonstruje podstawowe działanie klasy PAIR.
Tuple w STL
Koncepcja krotki jest rozszerzeniem Pair. W parach możemy połączyć dwa heterogeniczne obiekty, natomiast w krotkach możemy połączyć trzy heterogeniczne obiekty.
Ogólna składnia krotki to:
tupletuple1;
Podobnie jak para, krotka obsługuje podobne funkcje i kilka dodatkowych funkcji.
co zrobić z plikiem torrent
Są one wymienione poniżej:
- Budowniczy: Aby utworzyć nową krotkę.
- Tuple_element: Zwraca typ elementu krotki.
- make_tuple (): Tworzy i zwraca krotkę zawierającą elementy opisane przez listę parametrów.
- Operatory (==,! =,>,<, = ): Leksykograficznie porównuje dwie pary.
- Operator (=): Aby przypisać wartość do krotki.
- zamiana: Aby zamienić wartość dwóch krotek.
- Wiązanie: Powiąż wartości krotki z jej odniesieniami.
Użyjmy niektórych z tych funkcji w programie, aby zobaczyć, jak działają.
#include #include using namespace std; int main () { tuple tuple1; tuple tuple2; tuple1 = make_tuple(1, 2,3); tuple2 = make_tuple(1,'Hello', 'C++ Tuples'); int id; string str1, str2; tie(id, str1, str2) = tuple2; cout << id <<' '<< str1 <<' '<< str2; return 0; }
Wynik:
1 Krotki Hello C ++
W powyższym kodzie, aby zademonstrować krotki, tworzymy dwie krotki. Pierwsza krotka 1 składa się z trzech wartości całkowitych. Druga krotka, tj. Krotka2 składa się z jednej wartości całkowitej i dwóch łańcuchów.
Następnie przypisujemy wartości obu krotkom za pomocą funkcji „make_tuple”. Następnie używając wywołania funkcji „tie”, wiążemy lub przypisujemy wartości z tuple2 do id i dwóch łańcuchów.
Na koniec wypisujemy te wartości. Dane wyjściowe pokazują wartości z tuple2, które przypisaliśmy do id i dwóch ciągów.
Wniosek
Dlatego w tym samouczku krótko omówiliśmy łańcuchy, pary i krotki używane w STL. Podczas gdy operacje na łańcuchach są podobne do ogólnego C ++, dodatkowo możemy również operować iteratorami na tych ciągach.
Konstrukcje par i krotek są przydatne podczas programowania kontenerów STL, zwłaszcza kontenerów asocjacyjnych.
W naszym nadchodzącym samouczku szczegółowo poznamy algorytmy i iteratory, zanim przejdziemy do faktycznego programowania STL przy użyciu STL.
=> Odwiedź tutaj, aby zobaczyć serię szkoleń C ++ dla wszystkich.
rekomendowane lektury