2010-02-10 11 views

Antwort

6

C++ - Standardbibliothek - die generische Definition, welche Funktionalität/Verhalten von der Bibliothek bereitgestellt werden muss (Strings, Paare, Iostream, Container, Algorithmen usw.), obwohl die Besonderheiten je nach Version des C++ - Standards variieren).

Standard Template Library (STL) - der Teil der C++ - Standardbibliothek, der mit Containern und Algorithmen zu tun hat (und den Iteratoren, die diese beiden zusammenbringen). Die STL war nicht Teil der ursprünglichen C++ - Bibliothek.

libstdC++ - eine spezifische Implementierung der C++ - Standardbibliothek.

SGI STL - eine spezifische Implementierung des STL-Teils der C++ - Standardbibliothek. Ich glaube, das war auch eine der ersten Versionen der STL. Bevor die STL Teil der C++ - Bibliothek wurde, mussten Entwickler die STL separat herunterladen (genauso wie wir es derzeit mit Boost machen).

+2

Äh, der STL _was_ Teil des ursprünglichen C++ Standards von 1998. (In der Tat verzögerte die Einbeziehung der STL, die spät während des Standardisierungsprozesses begann, den ersten C++ Standard erheblich.) Die SGI STL ist eine spezifische (Ich denke, es ist sogar die ursprüngliche) Umsetzung der STL. Nicht alle der STL schafften es in den C++ - Standard (z. B. "slist"), und einige von den Letzteren stammten nicht aus der STL (z. B. "std :: string" als ein STL-Container). – sbi

+0

"Die STL war nicht Teil des ursprünglichen C++ - Standards" - dies kann entweder als korrekt angesehen werden - der C++ - Standard bezieht sich nirgends auf etwas, das "STL" genannt wird oder falsch, weil die Container und Algorithmen, aus denen die STL besteht, schon immer Teil waren des C++ Standards. –

+1

Die STL war nicht im ARM, was als eine Art Standarddokument angesehen werden könnte. Es war in der ersten offiziellen Norm. –

4

nur über die Herkunft der STL Komponenten der Standard-C++ Bibliotheken standardmäßig verwendet Sprechen:

  • MSVC verwendet Dinkumware Bibliotheken (oder scheinbar eine Teilmenge davon, weil Dinkumware werden Sie Add-on-Bibliotheken für MSVC verkaufen: -P)
  • GCC eine erweiterte Version von SGI STL als Teil libstdC++ verwendet

Wenn Sie die STL auslagern wollen, gibt es andere STL-Implementierungen wie STLport. Wähle dein Gift. :-P

+0

Sie verwechseln "STL" und "C++ Standard-Bibliothek". Das ist ein häufiger Fehler, aber trotzdem ein Fehler. – sbi

+0

@sbi: Nein, ich bin nicht selbst verwirrt über die beiden, aber ich habe versucht, einen Weg zu finden, die Frage des OP zu beantworten. Aber danke für deine Gedanken (und deinen Downvote). :-P –

Verwandte Themen