версии библиотеки стандарта C++

Что такое различие между Библиотекой C++ GNU (libstdc ++), "Библиотека Стандарта C++", "Стандартная библиотека шаблонов" и "STL SGI". При программировании в Linux с компилятором GCC и программировании в Windos в MSVC (Microsoft Visual C++), который стандартные библиотеки C++ используют по умолчанию? Спасибо!

11
задан Tim 10 February 2010 в 20:32
поделиться

2 ответа

Стандартная библиотека C++ - общее определение того, какую функциональность / поведение должна обеспечивать библиотека (строки, пары, iostream, контейнеры, алгоритмы и т.д., хотя специфика зависит от версии стандарта C++).

Стандартная библиотека шаблонов (STL) - часть стандартной библиотеки C++, которая имеет отношение к контейнерам и алгоритмам (и итераторам, которые объединяют эти два понятия). STL не была частью оригинальной библиотеки C++.

libstdc++ - конкретная реализация стандартной библиотеки C++.

SGI STL - конкретная реализация части STL стандартной библиотеки C++. Я полагаю, что это была одна из первых версий STL. До того, как STL стала частью библиотеки C++, разработчикам приходилось загружать STL отдельно (так же, как мы сейчас делаем это с Boost).

6
ответ дан 3 December 2019 в 10:03
поделиться

Если говорить только о происхождении компонентов STL стандартных библиотек C++, используемых по умолчанию:

  • MSVC использует библиотеки Dinkumware (или, очевидно, их подмножество, потому что Dinkumware будет продавать вам библиотеки дополнений и для MSVC :-P)
  • GCC использует расширенную версию SGI STL как часть libstdc++

Если вы хотите поменять STL, есть другие реализации STL, например, STLport. Выбирайте свой яд. :-P

4
ответ дан 3 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: