Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
Стандартная библиотека языка C++

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

Материал из Википедии — свободной энциклопедии


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

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

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

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

Реализации

Заброшенные

Стандартная библиотека Apache

Была разработана фирмой Rogue Wave Software, позже была передана Apache Software Foundation.[3] Однако спустя 5 лет с момента выхода последней версии было решено закончить работу над проектом и переместить его в Apache Attic.[4]

Смотрите также

Следующие библиотеки реализуют значительную часть стандартной библиотеки C++:


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

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

Контейнеры

Реализует специализированный класс контейнеров 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 для работы с парами (двучленными кортежами) объектов.

Строковые

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

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

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

Реализует инструменты для файлового ввода и вывода. Смотрите 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. Holzner, Steven. C++ : Black Book. — Scottsdale, Ariz. : Coriolis Group, 2001. — P. 648. — «The STL is made up of containers, iterators, function objects, and algorithms». — ISBN 1-57610-777-9.
  2. Изменения стандартной библиотеки C++
  3. Apache C++ Standard Library. Дата обращения: 17 апреля 2023. Архивировано 8 апреля 2023 года.
  4. Brett Porter. Apache C++ Standard Library and the Attic. stdcxx-dev mailing list (18 июля 2013). Дата обращения: 27 февраля 2014. Архивировано 22 сентября 2013 года.
Стандартная библиотека языка программирования C++

Ввод-вывод:

Многопоточность:

  • atomic (C++11)
  • condition_variable (C++11)
  • future (C++11)
  • mutex (C++11)
  • shared_mutex (C++14)
  • thread (C++11)

Прочие:

  • algorithm
  • bitset
  • chrono (C++11)
  • codecvt (C++11)
  • complex
  • exception
  • functional
  • initializer_list (C++11)
  • iterator
  • limits
  • locale
  • memory
  • new
  • numeric
  • random (C++11)
  • ratio (C++11)
  • regex (C++11)
  • stdexcept
  • string
  • system_error (C++11)
  • tuple (C++11)
  • typeindex (C++11)
  • typeinfo
  • type_traits (C++11)
  • utility
  • valarray
Стандартная библиотека шаблонов

Последовательные контейнеры:

Ассоциативные контейнеры:

Контейнеры-адаптеры:

Стандартная библиотека языка программирования Си