Was ist STL ?



  • Hi, bin C++ Anfänger, wollte mal fragen was diese Standard Template Library ist und wo ich die her bekomme, ist die Bestandteil von modernen C++ Compilern ??

    MFG



  • Schau mal hier, vielleicht hilft es ja. STL

    MfG



  • Original erstellt von <DaBomb>:
    [...]ist die Bestandteil von modernen C++ Compilern ??

    Ja.



  • thx 🙄



  • www.sgi.org gibs eine Implementation zum kostenfreien Download. Normalerweise ist eine STL-Version aber bei deinem Compiler dabei.



  • Original erstellt von Lars:
    www.sgi.org gibs eine Implementation zum kostenfreien Download.

    😮

    Meinst Du http://www.sgi.com/ oder http://www.stlport.org/ ? 🙂



  • Nun, die STL ist bei jedem neuen Compiler dabei.

    In der STL ist z.B. cout, cin, ... definiert.



  • Es sei hier allerdings erwähnt, dass es (wie üblich) Unterschiede zwischen dem Standard von MS und dem wirklichen Standard gibt. Womit die ganze Sache mit Vorsicht zu geniessen ist, wenn du MS Visual Studio benutzt. In dem Fall solltest du dir STLPort besorgen (link siehe oben) und besser damit arbeiten.



  • Original erstellt von <Patrick G.>:
    **Nun, die STL ist bei jedem neuen Compiler dabei.

    In der STL ist z.B. cout, cin, ... definiert.**

    interessant! heisst das also sobald man eine ANSI/ISO C++ header datei includiert (bsp. iostream) ist das von der STL? also die STL ist wie du schon sagtest das ganze krimskrams 🙂 zeugs das man so verwendet, wo man include dateien (standard) braucht. iostream,conio,etc..?



  • Es sei hier allerdings erwähnt, dass es (wie üblich) Unterschiede zwischen dem Standard von MS und dem wirklichen Standard gibt.

    Bevor man in diesem Fall auf MS und deren Standards losgeht, sollte man sich darüber im klaren sein, dass die STL-Implementationen die den verschiedenen VC-Versionen beiliegen *nicht* von MS sondern von Dinkumware sind.

    Bis Version 6.0 des VCs einschließlich handelt es sich hierbei leider (aus lizenztechnischen Gründen) um veraltete Dinkumware-Libs.



  • Original erstellt von <neugirig geworden bin>:
    **
    interessant! heisst das also sobald man eine ANSI/ISO C++ header datei includiert (bsp. iostream) ist das von der STL? also die STL ist wie du schon sagtest das ganze krimskrams 🙂 zeugs das man so verwendet, wo man include dateien (standard) braucht. iostream,conio,etc..?**

    Die Aussage war Unsinn. Die STL ist eine Library, die Anfang der 90er entstanden ist, und später zu großen Teilen in die C++-Standard-Library eingegangen ist. Auf die STL zurück gehen die Containerklassen, Iteratoren, Algorithmen usw. Aber z.B. nicht die Streams, auch natürlich nicht die C-Header, und schon gar nicht irgendwelche Nicht-Standard-Header wie conio.h.



  • Bashar wins. 😃



  • interessant! heisst das also sobald man eine ANSI/ISO C++ header datei includiert (bsp. iostream) ist das von der STL? also die STL ist wie du schon sagtest das ganze krimskrams zeugs das man so verwendet, wo man include dateien (standard) braucht. iostream,conio,etc..?

    Nein. Das kann man strenggenommen so nicht sagen. Aus Sicht von Standard-C++ gibt es keine STL. Es gibt nur eine Standardbibliothek.
    Die Original-STL (als Bibliothek von Containern und Algorithmen die durch Iteratoren zusammengehalten werden) wurde von Alexander Stepanov und Meng Lee für HP entwickelt.

    Der heutige Teil der C++ Standardbibliothek der mit Iteratoren arbeitet wurde auf Basis der Original-STL entwickelt.

    Letztlich meint man mit "STL" also eine Teilmenge der C++ Standardbibliothek und zwar die die Container, Algorithmen und Iteratoren verwendet.



  • Danke für die vielen ausführlichen Antworten, damit ist mir geholfen 🙂


Anmelden zum Antworten