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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Стандартная библиотека языка программирования C++
Стандартная библиотека шаблонов
C++11
Стандартная библиотека языка программирования Си
п·о·р

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

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

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

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

Начиная с Visual Studio .NET 2003, Visual C++ больше не предоставляет старые библиотеки iostream[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>
Реализует стандартные строковые классы и шаблоны.

Поточные и ввода-вывода[править | править вики-текст]

<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++.

См. также[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]

Примечания[править | править вики-текст]