Standard Template Library - LinkFang.de





Standard Template Library


Dieser Artikel oder Abschnitt erhält veraltete Informationen.

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 sogenannte C++-Standardbibliothek, die heute fester Bestandteil der Programmiersprache C++ ist.

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 Zeitlang 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


Kategorien: Hewlett-Packard | C++

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Standard Template Library (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.