Ich dachte Standartbibliothek = STL?
-
Ich dachte die Standarttemplatelibrary ist die C++ Standartbibliothek?
Doch im nächten kapitel von meinem BUch sehe ich Standartbibliothek oO
( war grade bei stl)
-
Hallo
Da steht wirklich Standartbibliothek. Glaube ich nicht...
chrische
-
dann eben Standard!
-
Die STL ist ein Teil (Untermenge) der Standardbibliothek.
Zur Standardbibliothek gehören z.B. auch noch alle weiteren Funktionen aus den C-Headern, IOStreams usw.
-
Wobei Streams doch auch zur STL gehören, oder?
MfG SideWinder
-
Oh da sagst du was. Da bin ich mir ehrlich gesagt nicht ganz sicher. IIRC macht der Standard selbst keine solche Abgrenzung. Ist wohl eher eine philosophische Frage.

Büch wie Effective STL etc. haben sich zumindest nie wirklich um IOStreams gekümmert.
-
Zur Original SGI STL gehören die IOStreams nicht. Es gehört aber auch nicht alles aus SGI's STL zur Standardbibliothek.
Also müsste man sagen, große Teile der STL sind Bestandteil der Standardbibliothek

-
Der Begriff STL kommt in der ISO-Norm von C++ nicht ein einziges mal vor.
Die Standard-Lib hat mit der STL praktisch nichts am Hut. Ist sogar an manchen Stellen inkompatibel.
-
Ureg schrieb:
Der Begriff STL kommt in der ISO-Norm von C++ nicht ein einziges mal vor.
Bist du dir da sicher? Hast du auch die aktuelle Norm? Das kann ich mir fast nicht vorstellen; ich dachte, die STL wurde als festen Bestandteil in die Standardbibliothek aufgenommen.
Ureg schrieb:
Die Standard-Lib hat mit der STL praktisch nichts am Hut. Ist sogar an manchen Stellen inkompatibel.
Wo treten denn solche Inkompatibilitäten auf?
-
wikipedia.de schrieb:
Heute wird fälschlicherweise die C++-Standardbibliothek im Volksmund immer noch STL genannt, obwohl es sich um zwei unabhängige Entwicklungszweige handelt und die Bestandteile der beiden Bibliotheken sich auch unterscheiden. Der Umfang der C++-Standardbibliothek wird gegenüber der STL auch mit dem nächsten C++-Standard deutlich zunehmen.
Quelle: http://de.wikipedia.org/wiki/C%2B%2B-Standardbibliothek
-
Nexus schrieb:
ich dachte, die STL wurde als festen Bestandteil in die Standardbibliothek aufgenommen.
Teilweise, aber nicht unter der Bezeichnung STL. In der C++0x-Standardbibliothek wird ja auch nicht die Rede von boost sein.
-
Nexus schrieb:
Bist du dir da sicher? Hast du auch die aktuelle Norm?
Ja, habe ich. Und sowohl "STL" als auch "Standard Template Library" kommen in den über 776 Seiten nicht vor.
Nexus schrieb:
Das kann ich mir fast nicht vorstellen; ich dachte, die STL wurde als festen Bestandteil in die Standardbibliothek aufgenommen.
Aha? Und welche STL soll es gewesen sein? Die von HP? Die von SGI? Oder die STLport? Alle vor 1998 erschienen! Schon alleine damit geht doch schon das
Verwirrspiel los. Der Begriff STL wird von Euch einfach nur so benutzt, weil es ihn gibt.Die STL von HP wurde damals als eine Art Vorlage benutzt. Man brauchte irgendwas, fragte den Hauptentwickler, ob man das nicht nehmen kann. Der sagte ja, und dann wurden hier und dort ein paar Schrauben rum gedreht und dann wurde es mit in die Norm übernommen. Aber durch das eigenmächtige abändern, ist es keines Falls die HP-STL mehr!
Nexus schrieb:
Wo treten denn solche Inkompatibilitäten auf?
Hem, schau mal in die SGI-STL, und sehe dort z.B.:
temporary_buffer
sequence_buffer
subtractive_rng
slist
Von den Hash-Containern und deren Funktionen wollen wir erst garnicht anfangen.Gibts alles in der C++98 Norm nicht. Und das sind nur die, die ich beim Überfliegen gefunden habe.
-
Okay, vielen Dank für die ausführliche Information.
Dass die STL Teil der C++-Standardbibliothek ist, scheint mir aber ein sehr weit verbreitetes Missverständnis zu sein... Der Begriff hat sich wohl einfach durchgesetzt.
-
ekharch schrieb:
Und sowohl "STL" als auch "Standard Template Library" kommen in den über 776 Seiten nicht vor.
Wieviel sind denn "über 776" Seiten? 777?

Sorry, ist nur eine lustige Formulierung, die man häufiger antrifft...
-
Bashar schrieb:
Nexus schrieb:
ich dachte, die STL wurde als festen Bestandteil in die Standardbibliothek aufgenommen.
Teilweise, aber nicht unter der Bezeichnung STL. In der C++0x-Standardbibliothek wird ja auch nicht die Rede von boost sein.
Wobei ja selbst die boost-Libs für den Standard nicht 1:1 übernommen wurden. Die werden auch nochmal abgeändert, weil sie in den Details nicht den Vorstellungen des Komitees entsprechen. Das wird beim TR2 auch so sein: boost-Libs werden wieder vorgelegt, aber das Komitee wird mächtig Änderungen wünschen. Dann darf wieder geschraubt werden. Dann kommt es in TR2 rein. TR2 wird (genauso wie TR1) Praxisfähigkeit beweisen müssen, dann wird man (wie bei TR1) wieder für die endgültige C++-Norm Änderungen haben wollen.
Am Ende wird die API nicht mehr kompatibel zum Boost sein... vom Namespace ganz zu schweigen.
-
Also nicht das es in Zukunft hier heißt "Boost kapier ich nicht" und am Ende ist die Std-Lib gemeint. Das gleiche Spiel wie mit STL...
Was ist daran schwer Std-lib zu sagen?
-
Ureg schrieb:
Was ist daran schwer Std-lib zu sagen?
Nix. Aber es ist inzwischen fest eingebürgerter Sprachgebrauch. Siehe z.B. Meyers XYZ-STL Buchreihe. Da hilft dann auch die akademische Haarspalterei nicht mehr
