strings pair tuples stl
Швидко вивчіть основні концепції струнних, парних і кортежів у STL.
У цьому посібнику ми отримаємо базові знання про рядки, пари та кортежі в 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, а потім, використовуючи метод insert, додаємо символи по одному в кінці рядка. Потім, використовуючи ітератор, ми відображаємо рядок.
Далі ми виводимо довжину рядка за допомогою методу size. Це проста програма для демонстрації лише рядків.
ПАРА В STL
Клас PAIR в STL стане в нагоді під час програмування асоціативних контейнерів. PAIR - це шаблон-клас, який об'єднує в собі два значення, однакових або різних типів даних.
Загальний синтаксис:
pair pair1, pair2;
У наведеному вище рядку коду створюються дві пари, тобто пара1 і пара2. Обидві ці пари мають перший об'єкт типу T1 і другий об'єкт типу T2.
T1 є першим членом, а T2 - другим членом пари1 і пари2.
Нижче наведені методи, які підтримує клас 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: '< Вихід:
Пара1 Перший член: 1
Pair2 Другий член: SoftwareTestingHelp
Пари не рівні
У наведеній вище програмі ми створюємо дві пари цілого числа типу та ще одну пару цілого числа та рядка типу. Потім за допомогою функції “make_pair” ми присвоюємо значення кожній парі.
Далі ми порівнюємо пари1 та пару2, використовуючи оператор “==”, щоб перевірити, чи рівні вони чи ні. Ця програма демонструє основні функції класу PAIR.
Кортеж в STL
Концепція Tuple є продовженням Pair. У парі ми можемо поєднати два неоднорідні об'єкти, тоді як у кортежах ми можемо поєднати три різнорідні об'єкти.
Загальний синтаксис кортежу:
tupletuple1;
Як і пара, кортеж також підтримує подібні функції та деякі додаткові функції.
як відкрити .json файли -
Вони перелічені нижче:
- Будівельник: Побудувати новий кортеж.
- 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 ++ Кортежі
У наведеному вище коді для демонстрації кортежів ми створюємо два кортежі. Перший кортеж кортеж1 складається з трьох цілих значень. Другий кортеж, тобто кортеж2, складається з одного цілого значення та двох рядкових значень.
Далі ми присвоюємо значення обом кортежам за допомогою функції “make_tuple”. Потім, використовуючи виклик функції “tie”, ми пов’язуємо або призначаємо значення з tuple2 до id та двох рядків.
Нарешті, ми виводимо ці значення. Вихідні дані показують значення з кортежу2, які ми призначили ідентифікатору та двом рядкам.
Висновок
Таким чином, у цьому підручнику ми коротко обговорили рядки, пару та кортеж, що використовуються в STL. Тоді як операції з рядками подібні до загальних C ++, крім того, ми також можемо оперувати ітераторами на цих рядках.
Конструкції пар та кортежів стануть у пригоді під час програмування контейнерів STL, особливо асоціативних контейнерів.
У нашому підручнику ми детально дізнаємося про алгоритми та ітератори, перш ніж переходити до власне програмування STL за допомогою STL.
=> Завітайте сюди, щоб побачити навчальну серію C ++ для всіх.
Рекомендована література