С++ Std против Stl

Опубликовано: 20 Февраля, 2023

Полная форма 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. Алгоритмы

Алгоритм заголовка определяет набор функций, специально разработанных для использования с рядом элементов. Они воздействуют на контейнеры и предоставляют средства для различных операций с содержимым контейнеров. Алгоритмы можно разделить в основном на две категории:

  1. Алгоритм без мутации. Некоторые алгоритмы, перечисленные в этой категории, — это Find(), lower_bound(), upper_bound(), min_element(), max_element() и т. д.
  2. Алгоритм мутации. В этой категории перечислены некоторые алгоритмы: sort(), make_heap(), merge(), reverse(), next_permutation() и т. д.

Пример:

Пример:

2. Контейнеры

Контейнеры используются для хранения данных. Контейнеры можно разделить на две основные категории, а именно:

  1. Контейнеры последовательности: этот контейнер состоит из исключения из очереди, списка и вектора.
  2. Ассоциативные контейнеры: этот контейнер состоит из множества, мультимножества, карты, мультикарты, хэш_набора, хэш_карты, хэш_мультисета и хэш_мультимап.
  3. Адаптеры контейнеров: этот контейнер состоит из очереди, приоритетной очереди и стека.
  4. Неупорядоченные ассоциативные контейнеры: — Этот контейнер состоит из unordered_set, unordered_multiset, unordered_map, неупорядоченного multimap.

3. Функции

STL включает классы, которые перегружают оператор вызова функции. Экземпляры таких классов называются функциональными объектами или функциями. Функции позволяют настраивать работу связанной функции с помощью передаваемых параметров.

Пример:

Что такое функтор?

Функторы — это объекты, с которыми можно обращаться так, как если бы они были функцией или указателем на функцию.

4.Итераторы

Как следует из названия, итераторы используются для работы с последовательностью значений. Они являются основной функцией, обеспечивающей универсальность STL. Они уменьшают сложность и время выполнения программы.

Пример:

Стд против Стл

ЗППП СТЛ
Стандарт означает стандарт Stl означает стандартную библиотеку шаблонов.
Std подпадает под стандартную библиотеку C++. Stl является подмножеством стандартного
Все библиотеки подпадают под стандарт.

Существует 4 категории stl:

  • Алгоритмы
  • Функции.
  • Итераторы
  • Контейнеры.
Используется оператор пространственного разрешения(::) Оператор не используется

Примеры:

cin, cout под заголовком iostream

Пример:

сортировка(), нижняя граница().