Содержание
- 2. Стандартная библиотека Потоковые классы Строковые классы Контейнерные классы – классы для хранения данных, реализующие наиболее распространенные
- 3. Достоинства и недостатки STL Достоинства Повышение надежности программ, а также их переносимости и универсальности Уменьшение объема
- 4. Потоковые классы
- 5. Потоковые классы Флаг форматирования – отдельные биты в поле x_flags типа long класса ios. Они работают
- 6. Флаги форматирования
- 7. Пример использования флагов форматирования //Сохраняем текущие значения флагов long prev_flags = cout.flags(); //Выводим вещественное число, на
- 8. Манипуляторы
- 9. Пример использования манипуляторов #include ……… cout cout
- 10. Контейнеры Последовательные контейнеры – обеспечивают хранение конечного количества однотипных величин в виде непрерывной памяти Векторы –
- 11. Характеристика контейнеров Позволяют хранить данные произвольных типов Обеспечивают стандартизированный интерфейс для выполнения операций над хранимыми данными
- 12. Типы, определения которых содержатся в каждом контейнерном классе STL
- 13. Понятие итератора Итератор является аналогом указателя на элемент. Используется для просмотра контейнера в прямом или обратном
- 14. Итераторы просмотра элементов контейнеров
- 15. Методы, позволяющие определить сведения о размере контейнера
- 16. Заголовочные файлы для работы с библиотекой STL algorithm deque funсtional iterator list map memory numeric queue
- 17. Характеристика общих операций для последовательных контейнеров “-” – операция в контейнере не реализована “+” – операция
- 18. Векторы - vector Являются аналогами динамических массивов с возможностью изменения размера Эффективно реализуют операции произвольного доступа
- 19. Пример использования вектора int n, x; vector v; //объявляем вектор целых чисел cout cin >> n;
- 20. Конструкторы создания вектора Конструктор по умолчанию explicit vector(); Конструктор, создающий вектор размера n и заполняющий его
- 21. Пример использования конструкторов (1) vector v1; //используется первый конструктор vector v2(10, 0.5); //второй конструктор v2[0] =
- 22. Пример использования конструкторов (2) vector v1; vector v2(10, 0.5); v2[0] = 666.666; vector v3(v2.begin(), v2.begin() +
- 23. Присваивание векторов С помощью операции присваивания vector & operator= (const vector & x); С помощью методов
- 24. Пример использования присваивания vector v1, v2, v3, v4; for (int i = 0; i v1.push_back(i *
- 25. Доступ к элементам вектора С помощью операции индексирования []: reference operator[] (size_type i); По индексу с
- 26. Знаки операций, определенные для векторов
- 27. Получение размера памяти и ее резервирование Получение размера занимаемой памяти size_type capacity() const; Ручное резервирование памяти
- 28. Замечание Если заранее известен размер вектора, то чтобы сократить накладные расходы по работе с памятью, постарайтесь
- 29. Пример использования резервирования int n, x; vector v; //объявляем вектор целых чисел cout cin >> n;
- 30. Добавление в конец вектора, удаление из конца Добавление в конец вектора void push_back(const& T value); Удаление
- 31. Методы вставки значений в вектор Вставка значения value в позицию, на которую указывает итератор pos, возвращаемое
- 32. Пример вставки значений в вектор vector v, v1; for (int i = 0; i v.push_back(i); cout
- 33. Методы удаления элементов из вектора Удаление одного элемента. pos – итератор, указывающий на него. Возвращаемое значение
- 34. Пример удаления значений из вектора vector v; for (int i = 0; i v.push_back(i); cout //Удаление
- 35. Прочие методы работы с векторами Обмен местами векторов void swap(vector & x); Очистка вектора void clear();
- 37. Скачать презентацию