Содержание
- 2. STL
- 3. Что входит в STL Контейнеры Итераторы Алгоритмы Умные указатели, функторы...
- 4. Контейнер - массив
- 5. Контейнер - список
- 6. Шаблоны алгоритмов
- 7. Итераторы Указывают на элементы контейнеров Обеспечивают доступ к элементам Могут перемещаться от элемента к элементу Их
- 8. Итераторы бывают Последовательные / произвольного доступа Однонаправленные / двунаправленные Прямые / обратные Модифицирующие / только для
- 9. Синтаксис как у указателя Iterator it1, it2; it1->field; value = *it1; *it1 = value; ++it1; it1++;
- 10. Границы контейнеров
- 11. Границы контейнеров
- 12. Диапазон значений [ a, b )
- 13. Контейнеры бывают Последовательные контейнеры: vector, array, deque, list, forward_list Ассоциативные контейнеры: set, multiset, map, multimap, unordered_set,
- 14. У контейнера есть Типы данных: iterator, const_iterator, reverse_iterator Методы, возвращают итераторы: begin(), rbegin(), cbegin() end(), rend(),
- 15. У контейнера есть Управление размером: clear (), resize(), reserve() Вставка: push_back(), push_front(), insert() Удаление: pop_back(), pop_front(),
- 16. #include #include //using namespace std; int main ( ) { std::vector v = {7, 5, 16,
- 17. #include #include //using namespace std; int main ( ) { std::vector v = {7, 5, 16,
- 18. #include #include //using namespace std; int main ( ) { std::vector v; v.resize(10); for ( int
- 19. #include #include class Info { std::string m_FIO; double m_Mark; public: Info() : m_FIO(), m_Mark(0) { std::cout
- 20. Контейнер объектов std::vector data; //1) Info object( "Иванов", 3.5 ); // Call: Info(fio,mark) data.push_back( object );
- 21. Контейнер указателей std::vector data; //1) data.push_back( new Info( "Иванов", 3.5 ) ); //Call: Info(fio,mark) //2) data.emplace_back(
- 22. Аллокация и реаллокация
- 23. функторы Функция (по имени) Объект класса, с перегруженным оператором вызова функции () Лямбда выражение
- 24. функтор - функции std::vector text; bool compareByLength ( const std::string& left, const std::string& right) { return
- 25. функтор - объект класса struct StringCompareByLength { bool operator() ( const std::string& left, const std::string& right
- 26. Шаблон функтора Less template struct less { bool operator() ( const T& left, const T& right
- 27. std::set std::multiset template , class Allocator = std::allocator > class set; #include std::set cont1; std::set cont2;
- 28. класс - функтор struct StringCompareByLength { bool operator() ( const std::string& left, const std::string& right )
- 29. std::set std::multiset int count ( const Key& ) iterator find ( const Key& ) std::pair equal_range
- 30. std::map std::multimap template , class Allocator = std::allocator > > class map; #include std::map cont1; std::map
- 31. std::map std::multimap template struct pair { T1 first; T2 second; }; template std::pair std::make_pair( T1 first,
- 32. std::map std::multimap int count ( const Key& ) iterator find ( const Key& ) std::pair equal_range
- 34. Скачать презентацию