В чем разница между стандартной библиотекой и стандартной библиотекой шаблонов?

Я продолжаю видеть ссылки как на стандартную библиотеку C++, так и на стандартную библиотеку шаблонов C++ (STL). В чем разница между ними? В Википедии упоминается, что у них есть общие заголовки, но это все.


person kgrad    schedule 31.10.2010    source источник
comment
stackoverflow.com/tags/stl/info. Впервые вижу вопрос, в котором используется тег tag ;-)   -  person Steve Jessop    schedule 31.10.2010
comment
кто бы мог подумать, редактирование тега вики того стоило, в конце концов: D   -  person jalf    schedule 01.11.2010


Ответы (1)


Стандартная библиотека шаблонов (STL) — это библиотека контейнеров, итераторы, алгоритмы и объекты-функции, созданные Александром Степановым; на сайте SGI есть каноническая реализация и документация.

Стандартная библиотека — это библиотека, входящая в состав C++; он включает большую часть стандартной библиотеки шаблонов (STL).

В обычном использовании «STL» также используется для обозначения частей стандартной библиотеки C++, которые происходят или являются производными от фактического SGI STL. Например, люди часто используют «STL» для обозначения std::vector и остальных контейнеров в стандартной библиотеке C++, поскольку они возникли в SGI STL.

person James McNellis    schedule 31.10.2010
comment
Всегда считал, что STL создал Александр Степанов во время работы в HP... - person ROAR; 31.10.2010
comment
Да, его разработал Степанов, и Вики соглашается с HP. Я не думаю, что кто-нибудь знает, как это закончилось с SGI? - person jalf; 01.11.2010
comment
@jalf: веб-сайт Степанова указывает, что внедрение SGI было завершено Мэттом Остерном и Хансом Бёмом (под управлением Александра Степанова) . Кроме этого, я не мог найти никакой другой информации. - person James McNellis; 01.11.2010
comment
Я не люблю включает. Это означает, что (а) копия была дословной [чего не было] и (б) изменения в одном означают изменения в другом [чего нет]. Лучше всего работать на основе предложения. - person Lightness Races in Orbit; 06.05.2011
comment
@LightnessRacesinOrbit: и (c) все в одном находится в другом [которого нет]. - person musiphil; 19.05.2012
comment
Чтобы добавить к ответу, то, что вы используете сейчас (с префиксом std::), вероятно, не является STL, а просто стандартной библиотекой, если вы намеренно не получили и не установили копию исторической STL. - person musiphil; 19.05.2012