Библиотека стандартных шаблонов (STL) презентация

Содержание


Презентации» Информатика» Библиотека стандартных шаблонов (STL)
STL
          Библиотека стандартных шаблонов (STL) (англ. Standard Template Library) — набор согласованныхБиблиотека стандартных шаблонов до включения в стандарт C++ была сторонней разработкой,Структура библиотекиКонтейнерыПоследовательные контейнерыПоследовательные контейнерыПоследовательные контейнерыПример последовательного контейнера
 #include <iostream> 
 #include <vector>
  #include <string>
Ассоциативные контейнерыАссоциативные контейнерыАссоциативные контейнерыАссоциативные контейнерыПример ассоциативного контейнера
 #include "stdafx.h" 
 #include <iostream> 
 #include <map>Контейнеры-адаптерыКонтейнеры-адаптерыКонтейнеры-адаптерыПример с контейнерами-адаптерами
 #include <cstdlib> 
 #include <iostream>
  #include <string>
ПсевдоконтейнерыПсевдоконтейнерыПсевдоконтейнерыПример с псевдоконтейнерами
 #include <iostream>
 #include <bitset>   // заголовочный файл битовыхКонтейнеры
 В контейнерах для хранения элементов используется семантика передачи объектов поМетодыметодыИтераторы 
 В библиотеке STL для доступа к элементам в качествеКатегорииКатегорииСпасибо за внимание
 Выполнили:
 Студенты 103 группы ФМиИТ
 Полькин А.В. и



Слайды и текст этой презентации
Слайд 1
Описание слайда:
STL Библиотека стандартных шаблонов 


Слайд 2
Описание слайда:
Библиотека стандартных шаблонов (STL) (англ. Standard Template Library) — набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++.

Слайд 3
Описание слайда:
Библиотека стандартных шаблонов до включения в стандарт C++ была сторонней разработкой, вначале — фирмы HP(Hewlett-Packard), а затем SGI(Silicon Graphics, Inc.). Стандарт языка не называет её «STL», так как эта библиотека стала неотъемлемой частью языка, однако многие люди до сих пор используют это название, чтобы отличать её от остальной части стандартной библиотеки (потоки ввода-вывода (iostream), подраздел Си и др.). Архитектура STL была разработана Александром Степановым и Менг Ли.

Слайд 4
Описание слайда:
Структура библиотеки

Слайд 5
Описание слайда:
Контейнеры

Слайд 6
Описание слайда:
Последовательные контейнеры

Слайд 7
Описание слайда:
Последовательные контейнеры

Слайд 8
Описание слайда:
Последовательные контейнеры

Слайд 9
Описание слайда:
Пример последовательного контейнера #include <iostream> #include <vector> #include <string> int main() { // Поддержка кириллицы в консоли Windows setlocale(LC_ALL, ""); // Создание вектора из строк std::vector<std::string> students; // Буфер для ввода фамилии студента std::string buffer = ""; std::cout << "Вводите фамилии студентов. " << "По окончание ввода введите пустую строку" << std::endl; do { std::getline(std::cin, buffer); if (buffer.size() > 0) { // Добавление элемента в конец вектора students.push_back(buffer); } } while (buffer != ""); // Сохраняем количество элементов вектора unsigned int vector_size = students.size(); // Вывод заполненного вектора на экран std::cout << "Ваш вектор." << std::endl; for (int i = 0; i < vector_size; i++) { std::cout << students[i] << std::endl; } return 0; }

Слайд 10
Описание слайда:
Ассоциативные контейнеры

Слайд 11
Описание слайда:
Ассоциативные контейнеры

Слайд 12
Описание слайда:
Ассоциативные контейнеры

Слайд 13
Описание слайда:
Ассоциативные контейнеры

Слайд 14
Описание слайда:
Пример ассоциативного контейнера #include "stdafx.h" #include <iostream> #include <map> #include <string> using namespace std; int main() { map<string,int> m; //создаем контейнер //записываем данные в наш ассоциативный массив m["s"]=5; m["sr"]=52; m["t"]=533; map<string,int>:: iterator ii; // определяем итератор for(ii=m.begin();ii!=m.end();ii++)cout<<ii->first<<":"<<ii->second<<endl; // к ключу можно обращаться еще вот так //(*iter).first и (*iter).second соответственно return 0; }

Слайд 15
Описание слайда:
Контейнеры-адаптеры

Слайд 16
Описание слайда:
Контейнеры-адаптеры

Слайд 17
Описание слайда:
Контейнеры-адаптеры

Слайд 18
Описание слайда:
Пример с контейнерами-адаптерами #include <cstdlib> #include <iostream> #include <string> #include <queue> using namespace std; int main() { queue<string> myqueue; string st,k,p,f; int n,r; cout<<"Enter size of queue: "; cin>>n; for(int count=1, i=0;i<n;i++,count++) { cout<<count<<". "; cin>>st; //вписываем слова и кидаем их в очередь myqueue myqueue.push(st); } cout<<"Enter word which we must delete: "; cin>>f; //пишем слово которое мы хотим удалить из очереди queue<string> newqueue; bool flag = false; cout<<"------------\n"; while(!myqueue.empty()) { k = myqueue.front(); myqueue.pop(); if(k==f && !flag) { flag = true; continue; } newqueue.push(k); } myqueue = newqueue; cout<<"-------------\n"; system("PAUSE"); return EXIT_SUCCESS; }

Слайд 19
Описание слайда:
Псевдоконтейнеры

Слайд 20
Описание слайда:
Псевдоконтейнеры

Слайд 21
Описание слайда:
Псевдоконтейнеры

Слайд 22
Описание слайда:
Пример с псевдоконтейнерами #include <iostream> #include <bitset>   // заголовочный файл битовых полей #include <iomanip>  // для манипулятора setw() using namespace std;   int main() {     bitset<8> number;       cout << "Двоичное представление некоторых чисел:\n";     for( int i = 0; i < 21; i++) {         number = i;         cout << setw(2) << number.to_ulong() << " = " << number << endl;     }     return 0; }

Слайд 23
Описание слайда:
Контейнеры В контейнерах для хранения элементов используется семантика передачи объектов по значению. Другими словами, при добавлении контейнер получает копию элемента. Если создание копии нежелательно, то используют контейнер указателей на элементы. Присвоение элементов реализуется с помощью оператора присваивания, а их разрушение происходит с использованием деструктора. Сейчас мы увидим основные требования к элементам в контейнерах:

Слайд 24
Описание слайда:
Методы

Слайд 25
Описание слайда:
методы

Слайд 26
Описание слайда:
Итераторы В библиотеке STL для доступа к элементам в качестве посредника используется обобщённая абстракция, именуемая итератором. Каждый контейнер поддерживает «свой» вид итератора, который представляет собой «модернизированный» интеллектуальный указатель, «знающий» как получить доступ к элементам конкретного контейнера. Стандарт C++ определяет пять категорий итераторов:

Слайд 27
Описание слайда:
Категории

Слайд 28
Описание слайда:
Категории

Слайд 29
Описание слайда:
Спасибо за внимание Выполнили: Студенты 103 группы ФМиИТ Полькин А.В. и Новиков Д.В.


Скачать презентацию на тему Библиотека стандартных шаблонов (STL) можно ниже:

Похожие презентации