Standard Template Library

Standard Template Library

Als Standard Template Library (STL) werden verschiedene in der Programmiersprache C++ geschriebene Bibliotheken bezeichnet.

Ursprünglich wurde mit Standard Template Library eine in den 1980er Jahren bei Hewlett-Packard (kurz: HP) entwickelte, in C++ verfasste Bibliothek bezeichnet, die weitgehend auf generischer Programmierung mit dem Schwerpunkt Datenstrukturen und Algorithmen basierte. Diese Bibliothek beeinflusste maßgeblich die so genannte C++-Standardbibliothek, die heute fester Bestandteil der Programmiersprache C++ ist.

Inhaltsverzeichnis

Entstehung

Die bei HP entwickelte STL geht auf sehr alte Wurzeln zurück. Schon 1971 gab es erste Entwürfe generischer Bibliotheken von Dave Musser. 1979 begann Alexander Stepanow mit der Entwicklung seiner Ideen auf diesem Gebiet. Die Umsetzung in einer großen Programmiersprache erfolgte jedoch erst 1987 mit der Programmiersprache Ada.

Stepanow und Meng Lee, damals Mitarbeiter bei Hewlett-Packard, nannten die von ihnen entwickelte Programmbibliothek STL. Später wurde diese Bibliothek gemeinfrei. Danach, im Jahr 1993, also zu einer Zeit als sich C++ noch in einem frühen Entwicklungsstadium befand, stellten sie die Bibliothek dem C++-Standardisierungskomitee vor, das daraus im Laufe der Zeit einen konkreten Vorschlag zur Aufnahme in die Programmiersprache C++ ausarbeitete, was schließlich zur Integration führte.

Stepanow wechselte später zu Silicon Graphics (kurz: SGI) und setzte auch danach die Arbeiten an seiner Bibliothek fort.

Bezug zur C++-Standardbibliothek

Von der heutigen C++-Standardbibliothek stammt zwar ein Großteil aus der STL in ihrer bei HP entwickelten Fassung auf dem Stand von 1993, in verschiedenen Details unterscheidet sie sich aber davon. Aus diesem Grund ist es nicht möglich, eine Teilmenge der C++-Standardbibliothek als STL zu benennen. Auch enthielt die STL in der damaligen Fassung weder Zeichenketten (Strings) noch Ein-/Ausgabedatenströme (Streams). In der C++-Norm kommt der Begriff STL nicht vor.

Verschiedene Bibliotheken namens STL

Inoffiziell hat die Bezeichnung STL weite Verbreitung. Die unterschiedlichen Vorstellungen über die Bedeutung dieses Begriffs führen aber bisweilen zu Missverständnissen. Bei SGI ist mit „STL“ beispielsweise die dort veröffentlichte Bibliothek gemeint, die sich wiederum stark von der bei HP entwickelten Fassung unterscheidet.

Auch heute (2008) gibt es keine durch nationale oder internationale Normen definierte Bibliothek namens STL.

Die folgenden von der C++-Standardbibliothek unabhängigen Bibliotheken nennen sich STL oder tragen den Bestandteil STL im Namen:

  • die ursprüngliche, bei HP entwickelte Bibliothek STL
  • die bei Silicon Graphics gepflegte STL; gegenüber der HP-STL stark erweitert; enthält mehr oder weniger die C++-Standardbibliothek mit Ausnahme der von C übernommenen Bibliotheken; darüber hinaus Erweiterungen wie Hash-Maps, die nicht in den Standard übernommen wurden, sowie rope, ein Datentyp zur effizienteren Verarbeitung sehr langer Zeichenketten
  • die freie Bibliothek STLport; war eine Zeit lang eine Art Alternative zur C++-Standardbibliothek
  • eine .NET-Bibliothek namens STL/CLI; wurde entwickelt zur Ausnutzung von mit C++/CLI eingeführten Spracherweiterungen; lässt sich mit Standard-C++-Compilern nicht übersetzen

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Standard Template Library — (STL) type of library for compiling C++ programs that enables the user to employ generic container classes and generic algorithms (Computers) …   English contemporary dictionary

  • Standard Template Library — C++ Standard Library fstream iomanip ios iostream sstream string …   Wikipedia

  • Standard Template Library — Pour les articles homonymes, voir STL. La Standard Template Library (STL) est une bibliothèque C++, normalisée par l ISO (document ISO/CEI 14882) et mise en œuvre à l aide des templates. Cette bibliothèque fournit : un ensemble de classes… …   Wikipédia en Français

  • Standard Template Library — Стандартная библиотека шаблонов (STL) (англ. Standard Template Library) набор согласованных обобщенных алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций. Стандартная библиотека шаблонов до включения в… …   Википедия

  • Active Template Library — The Active Template Library (ATL) is a set of template based C++ classes developed by Microsoft that simplify the programming of Component Object Model (COM) objects. The COM support in Microsoft Visual C++ allows developers to create a variety… …   Wikipedia

  • Active Template Library — Bei der Active Template Library (ATL) handelt es sich um eine Sammlung von Visual C++ Klassenbibliotheken für Microsoft Windows zur Erstellung und Nutzung von COM Komponenten, einschließlich ActiveX Steuerelementen. Der Namensbestandteil Template …   Deutsch Wikipedia

  • Active Template Library — Pour les articles homonymes, voir ATL. L Active Template Library (ATL) signifie en français bibliothèque de modèles actifs. L ATL est une bibliothèque de classes C++ développée par Microsoft qui simplifie la programmation des composants logiciels …   Wikipédia en Français

  • Windows Template Library — The Windows Template Library (WTL) is a free software, object oriented C++ template library for Win32 development. WTL was created by Microsoft employee Nenad Stefanovic for internal use and later released as an unsupported add on to Visual… …   Wikipedia

  • Windows Template Library — Тип библиотека (программирование) Разработчик Nenad Stefanovic Написана на С++ Операционная система Microsoft Windows Последняя версия WTL 8.1.11324 (21.11.2011) Лицензия …   Википедия

  • Material Template Library — MTL material format Extension .mtl Développé par Wavefront Technologies Type de format Format de texture 3D …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”