Стандартная библиотека языка C++

В языке программирования C++ термин Стандартная Библиотека означает коллекцию классов и функций, написанных на базовом языке. Стандартная Библиотека поддерживает несколько основных контейнеров, функций для работы с этими контейнерами, объектов-функции, основных типов строк и потоков (включая интерактивный и файловый ввод-вывод), поддержку некоторых языковых особенностей, и часто используемые функции для выполнения таких задач, как, например, нахождение квадратного корня числа. Стандартная Библиотека языка C++ также включает в себя спецификации стандарта ISO C90 стандартной библиотеки языка Си. Функциональные особенности Стандартной Библиотеки объявляются внутри пространства имен std.

Стандартная библиотека шаблонов (STL) — подмножество стандартной библиотеки C++ и содержит контейнеры, алгоритмы, итераторы, объекты-функции и т. д.[источник не указан 3606 дней] Хотя некоторые программисты используют термин «STL» вместе (или попеременно) с термином «Стандартная библиотека C++».

Заголовочные файлы стандартной библиотеки C++ не имеют расширения «.h».

Стандартная библиотека C++ содержит последние расширения C++ стандарта ANSI (включая библиотеку стандартных шаблонов и новую библиотеку iostream). Она представляет собой набор файлов заголовков. В новых файлах заголовков отсутствует расширение H.[1]

Стандартные заголовочные файлыПравить

Нижеперечисленные файлы содержат объявления Стандартной Библиотеки.

КонтейнерыПравить

<bitset>
Реализует специализированный класс контейнеров std::bitset — битовый массив.
<deque>
Реализует шаблон класса контейнера std::deque — двусвязная очередь.
<list>
Реализует шаблон класса контейнера std::list — двусвязный список.
<map>
Реализует шаблоны классов контейнеров std::map и std::multimapАссоциативный массив и мультиотображение.
<queue>
Реализует класс адаптер-контейнера std::queue — односторонняя очередь.
<set>
Реализует шаблоны классов контейнеров std::set и std::multiset — сортированные ассоциативные контейнеры или множества.
<stack>
Реализует класс адаптер-контейнера std::stack — стек.
<vector>
Реализует шаблон класса контейнеров std::vector — динамический массив.

ОбщиеПравить

<algorithm>
Реализует определения многих алгоритмов для работы с контейнерами.
<functional>
Реализует несколько объект-функций, разработанных для работы со стандартными алгоритмами.
<iterator>
Реализует классы и шаблоны для работы с итераторами.
<locale>
Реализует классы и шаблоны для работы с локалями.
<memory>
Реализует инструменты управления памятью в C++, включая шаблон класса std::auto_ptr.
<stdexcept>
Содержит стандартную обработку ошибок классов, например, std::logic_error и std::runtime_error, причем оба происходят из std::exception.
<utility>
Реализует шаблон класса std::pair для работы с парами (двучленными кортежами) объектов.

СтроковыеПравить

<string>
Реализует стандартные строковые классы и шаблоны.

<regex>

Новое в C++11. Предоставляет утилиты для сопоставления строк с шаблоном с помощью регулярных выражений.

Поточные и ввода-выводаПравить

<fstream>
Реализует инструменты для файлового ввода и вывода. Смотри fstream.
<ios>
Реализует несколько типов и функций, составляющих основу операций с iostreams.
<iostream>
Реализует основы ввода и вывода языка C++. Смотрите iostream.
<iosfwd>
Реализует предварительные объявления нескольких шаблонов классов, связанных с вводом-выводом.
<iomanip>
Реализует инструменты для работы с форматированием вывода, например базу, используемую при форматировании целых и точных значений чисел с плавающей запятой.
<istream>
Реализует шаблон класса std::istream и других необходимых классов для ввода.
<ostream>
Реализует шаблон класса std::ostream и других необходимых классов для вывода.
<sstream>
Реализует шаблон класса std::sstream и других необходимых классов для работы со строками.
<streambuf>

ЧисловыеПравить

<complex>
Реализует шаблон класса std::complex и связанные функции для работы с комплексными числами.
<numeric>
Реализует алгоритмы для числовой обработки
<valarray>
Реализует шаблон класса std::valarray — класс массивов, оптимизированный для числовой обработки.

Языковая поддержкаПравить

<exception>
Реализует несколько типов и функций, связанных с обработкой исключений, включая std::exception — базовый класс всех перехватов исключений в Стандартной Библиотеке.
<limits>
реализует шаблон класса std::numeric_limits, используемый для описания свойств базовых числовых типов.
<new>
Реализует операторы new и delete, а также другие функции и типы, составляющие основу управления памятью в C++.
<typeinfo>
Реализует инструменты для работы с динамической идентификацией типа данных в C++.

Стандартная Библиотека языка СиПравить

Каждый заголовочный файл из стандартной библиотеки языка Си включен в стандартную библиотеку языка C++ под различными именами, созданными путём отсечения расширения .h и добавлением 'c' в начале, например, 'time.h' стал 'ctime'. Единственное отличие между этими заголовочными файлами и традиционными заголовочными файлами стандартной библиотеки языка Си заключается в том, что функции должны быть помещены в пространство имен std:: (хотя некоторые компиляторы сами делают это). В стандарте ISO C функции стандартной библиотеки разрешены для реализации макросами, которые не разрешены в ISO C++.

См. такжеПравить

ЛитератураПравить

СсылкиПравить

ПримечанияПравить