С++ Std против Stl
Полная форма std является стандартной и представляет собой пространство имен. Все идентификаторы объявлены внутри пространства имен std, другими словами, пространство имен предоставляет область действия идентификаторам, таким как имена функций, имена переменных и т. д., определенные внутри него. Эта функция особенно доступна в C++ и отсутствует в C. Ключевое слово std используется вместе с оператором разрешения пробела (::) в каждой строке печати и объявлении переменной.
Пример:
std::cout<<"GeeksForGeeks"<<std::endl;
Основные операции ввода-вывода, такие как cin, cout , находятся в библиотеке <iostream> пространства имен std . Помимо них, есть и другие заголовки, такие как <vector>, <pair>, <map>, <iostream>… и т.д. Оператор пространственного разрешения используется с:
- Нить
- Cout
- Цин
- конец
Пример:
std::string s= "geeksforgeeks"; std :: cout<<s; std:: cin>>s; std::endl; Note: - If std:: is not given with the above four then an error will pop up.
Пример:
Пример:
STL на С++
STL — это набор классов шаблонов C++, которые предоставляют общие структуры данных программирования, такие как списки, стеки, массивы и т. д. Он включает классы для контейнеров, алгоритмов и итераторов.
STL состоит из 4 компонентов:
- Алгоритмы
- Контейнеры
- Функции
- Итераторы
1. Алгоритмы
Алгоритм заголовка определяет набор функций, специально разработанных для использования с рядом элементов. Они воздействуют на контейнеры и предоставляют средства для различных операций с содержимым контейнеров. Алгоритмы можно разделить в основном на две категории:
- Алгоритм без мутации. Некоторые алгоритмы, перечисленные в этой категории, — это Find(), lower_bound(), upper_bound(), min_element(), max_element() и т. д.
- Алгоритм мутации. В этой категории перечислены некоторые алгоритмы: sort(), make_heap(), merge(), reverse(), next_permutation() и т. д.
Пример:
Пример:
2. Контейнеры
Контейнеры используются для хранения данных. Контейнеры можно разделить на две основные категории, а именно:
- Контейнеры последовательности: этот контейнер состоит из исключения из очереди, списка и вектора.
- Ассоциативные контейнеры: этот контейнер состоит из множества, мультимножества, карты, мультикарты, хэш_набора, хэш_карты, хэш_мультисета и хэш_мультимап.
- Адаптеры контейнеров: этот контейнер состоит из очереди, приоритетной очереди и стека.
- Неупорядоченные ассоциативные контейнеры: — Этот контейнер состоит из unordered_set, unordered_multiset, unordered_map, неупорядоченного multimap.
3. Функции
STL включает классы, которые перегружают оператор вызова функции. Экземпляры таких классов называются функциональными объектами или функциями. Функции позволяют настраивать работу связанной функции с помощью передаваемых параметров.
Пример:
Что такое функтор?
Функторы — это объекты, с которыми можно обращаться так, как если бы они были функцией или указателем на функцию.
4.Итераторы
Как следует из названия, итераторы используются для работы с последовательностью значений. Они являются основной функцией, обеспечивающей универсальность STL. Они уменьшают сложность и время выполнения программы.
Пример:
Стд против Стл
ЗППП | СТЛ |
---|---|
Стандарт означает стандарт | Stl означает стандартную библиотеку шаблонов. |
Std подпадает под стандартную библиотеку C++. | Stl является подмножеством стандартного |
Все библиотеки подпадают под стандарт. | Существует 4 категории stl:
|
Используется оператор пространственного разрешения(::) | Оператор не используется |
Примеры: cin, cout под заголовком iostream | Пример: сортировка(), нижняя граница(). |