Стандартная библиотека языка 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++.
- <cassert>
- <cctype>
- <cerrno>
- <cfloat>
- <climits>
- <cmath>
- <csetjmp>
- <csignal>
- <cstdlib>
- <cstddef>
- <cstdarg>
- <cstdio>
- <cstring>
- <ctime>
- <cwchar>
См. также
- Стандартная Библиотека Apache C++
- Boost (библиотека)
- C++ Technical Report 1
- C POSIX library
- Стандартная библиотека
Литература
- Бьёрн Страуструп: Язык программирования C++, Addison-Wesley, ISBN 0-201-70073-5
Ссылки
- Microsoft MSDN Library — Справочник по Стандартной библиотеке C++
- Справочник по Стандартной библиотеке C++
- The GNU Standard C++ Library
- STLport
- Dinkumware Standard C++ Library
- Общие сведения о языке программирования С++ и stl библиотеках