Українська
Підсумки
Висновки
Масив фіксує кількість елементів, а вектор дозволяє її змінювати. Розмір і місткість мають різний зміст; перерозподіл впливає на чинність адрес і посилань. Рядок володіє байтами, а string_view лише спостерігає за ними. Алгоритми повинні зберігати межі, зв’язок полів запису та час життя власника.
Питання для самоперевірки
- Який останній індекс масиву з N елементів?
- Чим array відрізняється від вбудованого масиву?
- Що перевіряє at і чого не гарантує []?
- Коли цикл потребує auto&?
- Чим reserve відрізняється від resize?
- Коли push_back робить посилання недійсними?
- Яка передумова бінарного пошуку?
- Чому сортують цілий запис, а не одне його поле?
- Чому vector векторів може бути непрямокутним?
- Що рахує string::size у UTF-8?
- Що означає npos?
- Чому cctype не декодує кирилицю UTF-8?
- Як перевіряють повний результат from_chars?
- Чим string_view::substr відрізняється від string::substr?
- Які умови роблять вигляд висячим?
Контрольні питання до лабораторної роботи
- Коли вектор порожній після reserve?
- Як правильно перевірити номер користувача?
- Чому [] не є перевіреним доступом?
- Коли адреса елемента перестає бути чинною?
- Як не пропустити елемент після erase?
- Чому бінарний пошук потребує сортування?
- Яка різниця між рядком і виглядом?
- Чому size не рахує літери UTF-8?
- Як визначити повний розбір числа?
- Чим розбиття слів відрізняється від CSV?
Корисні посилання
- Вектор: https://learn.microsoft.com/cpp/standard-library/vector-class.
- Масив: https://learn.microsoft.com/cpp/standard-library/array-class-stl.
- Рядковий вигляд: https://learn.microsoft.com/cpp/standard-library/basic-string-view-class.
- Перетворення: https://learn.microsoft.com/cpp/standard-library/charconv-functions.