Что такое различие между Библиотекой C++ GNU (libstdc ++), "Библиотека Стандарта C++", "Стандартная библиотека шаблонов" и "STL SGI". При программировании в Linux с компилятором GCC и программировании в Windos в MSVC (Microsoft Visual C++), который стандартные библиотеки C++ используют по умолчанию? Спасибо!
Стандартная библиотека C++ - общее определение того, какую функциональность / поведение должна обеспечивать библиотека (строки, пары, iostream, контейнеры, алгоритмы и т.д., хотя специфика зависит от версии стандарта C++).
Стандартная библиотека шаблонов (STL) - часть стандартной библиотеки C++, которая имеет отношение к контейнерам и алгоритмам (и итераторам, которые объединяют эти два понятия). STL не была частью оригинальной библиотеки C++.
libstdc++ - конкретная реализация стандартной библиотеки C++.
SGI STL - конкретная реализация части STL стандартной библиотеки C++. Я полагаю, что это была одна из первых версий STL. До того, как STL стала частью библиотеки C++, разработчикам приходилось загружать STL отдельно (так же, как мы сейчас делаем это с Boost).
Если говорить только о происхождении компонентов STL стандартных библиотек C++, используемых по умолчанию:
Если вы хотите поменять STL, есть другие реализации STL, например, STLport. Выбирайте свой яд. :-P