strings pair tuples stl
Бързо научете основните понятия за струните, двойките и кортежите в STL.
В този урок ще придобием основни познания за Strings, Pair и Tuples в STL, преди действително да преминем към подробни и по-големи концепции като итератори, алгоритми и контейнери.
Въпреки че низовете се използват по същия начин, както в общия език C ++, струва си да се обсъди от гледна точка на STL. Можем да мислим за низовете като последователен контейнер от символи. Тъй като се занимаваме с класове на шаблони в STL, е абсолютно задължително да познаваме понятието PAIR и TUPLE по отношение на STL.
=> Проверете тук уроците за задълбочено обучение за C ++.
Какво ще научите:
Струни в STL
Низовете в STL поддържат както ASCII, така и Unicode (широкосимволен) формат.
STL поддържа два типа струни:
# 1) низ: Това е низът във формат ASCII и за да включим този тип низови обекти в програмата, трябва да включим файла string.h в нашата програма.
#include
# 2) wstring: Това е широкосимволният низ. В програмирането на MFC го наричаме CString. За да включим wstring обекти в нашата програма, ние включваме файла xstring.
#include
Независимо дали ASCII или Unicode, низовете в STL поддържат различни методи точно по начина, по който правят другите STL контейнери.
Някои от методите, поддържани от обекта низ, са:
- начало () : Върнете итератора в началото.
- край() : Върнете итератора в края.
- вмъкване () : Вмъкване в низ.
- изтрива() : Изтриване на символи от низ.
- размер () : Връща дължината на низа.
- празен () : Изпразнете съдържанието на низа.
Освен тези методи, посочени по-горе, вече сме обхванали методите за низови класове в нашите по-ранни низове в уроци за C ++.
Нека напишем проста програма за демонстриране на STL низове.
как изглежда ключът за мрежова сигурност
#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:'< Изход:
СВЕТ
Дължина на струната: 5
В горния код, както видяхме, декларираме низов обект str1 и след това, използвайки метода на вмъкване, добавяме символи един по един в края на низа. След това с помощта на обект на итератор показваме низа.
След това извеждаме дължината на низа, използвайки метода за размер. Това е проста програма за демонстриране само на струните.
ДВОЙКА в STL
Класът PAIR в STL е полезен при програмиране на асоциативните контейнери. PAIR е клас на шаблон, който групира заедно две стойности от един и същи или различни типове данни.
Общият синтаксис е:
pair pair1, pair2;
Горният ред на код създава две двойки, т.е.пара1 и двойка2. И двете двойки имат първия обект от тип T1 и втория обект от тип T2.
T1 е първият член, а T2 е вторият член на pair1 и pair2.
Следват методите, които се поддържат от клас PAIR:
- Оператор (=): Присвояване на стойности на двойка.
- размяна: Разменя съдържанието на двойката.
- make_pair (): Създаване и връщане на двойка с обекти, дефинирани от списъка с параметри.
- Оператори (==,! =,>,<, = ) : Сравнява две двойки лексикографски.
Нека напишем основна програма, която показва използването на тези функции в код.
#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: '< Изход:
Pair1 Първи член: 1
Pair2 Втори член: SoftwareTestingHelp
Двойките не са равни
В горната програма ние създаваме две двойки от цяло число на тип и още една двойка от цяло число и низ от тип. След това използвайки функцията “make_pair” ние присвояваме стойности на всяка двойка.
След това сравняваме чифт1 и чифт2, като използваме оператора “==”, за да проверим дали са равни или не. Тази програма демонстрира основната работа на класа PAIR.
Tuple In STL
Концепцията Tuple е продължение на Pair. В двойка можем да комбинираме два хетерогенни обекта, докато в купчини можем да комбинираме три хетерогенни обекта.
Общият синтаксис на кортеж е:
конвертирате YouTube в mp3 по-дълго от 20 минути
tupletuple1;
Подобно на двойката, кортежът също поддържа подобни функции и някои допълнителни функции.
Те са изброени по-долу:
- Строител: За конструиране на нов кортеж.
- Tuple_element: Връща типа на кортежния елемент.
- make_tuple (): Създава и връща кортеж с елементи, описани от списъка с параметри.
- Оператори (==,! =,>,<, = ): Лексикографски сравнява две двойки.
- Оператор (=): За да присвоите стойност на кортеж.
- размяна: За да замените стойността на две кортежи.
- Вратовръзка: Привържете стойности на кортеж към неговите референции.
Нека използваме някои от тези функции в програма, за да видим как работят.
#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; }
Изход:
1 Здравейте C ++ Tuples
В горния код, за да демонстрираме кортежи, ние създаваме два кортежа. Първият кортеж кортеж1 се състои от три цели числа. Втори кортеж, т. Е. Кортеж2 се състои от една цяло число и две низови стойности.
След това присвояваме стойности на двата кортежа, използвайки функцията “make_tuple”. След това, използвайки извикване на функция „tie“, ние свързваме или присвояваме стойностите от tuple2 към id и два низа.
Накрая извеждаме тези стойности. Резултатът показва стойностите от tuple2, които сме присвоили на id и два низа.
Заключение
По този начин в този урок ние обсъдихме накратко низове, двойки и кортежи, използвани в STL. Докато операциите с низове са подобни на общия C ++, освен това ние можем да работим с итератори на тези низове.
Конструкциите за сдвояване и кортеж са полезни при програмиране на STL контейнери, особено асоциативните контейнери.
В нашия предстоящ урок ще научим подробно за алгоритмите и итераторите, преди да преминем към действителното програмиране на STL с помощта на STL.
=> Посетете тук, за да видите серията C ++ за обучение за всички.
Препоръчително четене