Стандартная библиотека языка C++ | это... Что такое Стандартная библиотека языка C++? (original) (raw)

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

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

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

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

Начиная с Visual Studio .NET 2003, Visual C++ больше не предоставляет старые библиотеки iostream[1]

Содержание

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

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

Контейнеры

Реализует специализированный класс контейнеров std::bitsetбитовый массив.

Реализует шаблон класса контейнера std::deque — очередь с двусторонним доступом.

Реализует шаблон класса контейнера std::listдвусвязный список.

Реализует шаблоны классов контейнеров std::map и std::multimapАссоциативный массив и мультиотображение.

Реализует класс адаптер-контейнера std::queue — односторонняя очередь.

Реализует шаблоны классов контейнеров std::set и std::multiset — сортированные ассоциативные контейнеры или множества.

Реализует класс адаптер-контейнера std::stackстек.

Реализует шаблон класса контейнеров std::vectorдинамический массив.

Общие

Реализует определения многих алгоритмов для работы с контейнерами.

Реализует несколько объект-функций, разработанных для работы со стандартными алгоритмами.

Реализует классы и шаблоны для работы с итераторами.

Реализует классы и шаблоны для работы с локалями.

Реализует инструменты управления памятью в C++, включая шаблон класса std::auto_ptr.

Содержит стандартную обработку ошибок классов, например, std::logic_error и std::runtime_error, причем оба происходят из std::exception.

реализует шаблон класса std::pair для работы с парами (двучленными кортежами) объектов.

Строковые

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

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

Реализует инструменты для файлового ввода и вывода. Смотри fstream.

Реализует несколько типов и функций, составляющих основу операций с iostreams.

Реализует основы ввода и вывода языка C++. Смотри iostream.

Реализует предварительные объявления нескольких шаблонов классов, связанных с вводом-выводом.

Реализует инструменты для работы с форматированием вывода, например базу, используемую при форматировании целых и точных значений чисел с плавающей запятой.

Реализует шаблон класса std::istream и других необходимых классов для ввода.

Реализует шаблон класса std::ostream и других необходимых классов для вывода.

Реализует шаблон класса std::sstream и других необходимых классов для работы со строками.

Числовые

Реализует шаблон класса std::complex и связанные функции для работы с комплексными числами.

Реализует алгоритмы для числовой обработки

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

Языковая поддержка

Реализует несколько типов и функций, связанных с обработкой исключений, включая std::exception — базовый класс всех перехватов исключений в Стандартной Библиотеке.

реализует шаблон класса std::numeric_limits, используемый для описания свойств базовых числовых типов.

Реализует операторы new и delete, а также другие функции и типы, составляющие основу управления памятью в C++.

Реализует инструменты для работы с динамической идентификацией типа данных в C++.

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

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

См. также

Литература

Ссылки

Примечания

  1. 1 2 Изменения стандартной библиотеки C++