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