Ich programmiere C ++ seit ungefähr einem Jahr und wenn ich darüber nachschaue, sehe ich viele Referenzen auf STL.
Kann jemand bitte mir sagen, was es tut?
und die Vorteile und Nachteile davon?
auch was gibt es mir über die Borlands VCL oder MFC?
Danke
Es ist die C ++ - Standardbibliothek, die Ihnen alle möglichen Arten von sehr nützlichen Containern, Strings und Algorithmen zur Verfügung stellt, um sie mit usw zu manipulieren.
Der Begriff 'STL' ist veraltet IMHO, was früher die STL war, ist ein großer Teil der Standardbibliothek für C ++ geworden.
Wenn Sie eine ernsthafte C ++ - Entwicklung durchführen, müssen Sie mit dieser Bibliothek und vorzugsweise der Boost -Bibliothek vertraut sein. Wenn Sie es nicht bereits verwenden, arbeiten Sie wahrscheinlich auf der falschen Abstraktionsebene oder Sie beschränken sich auf eine kleine Teilmenge von C ++.
STL steht für Standard Template Library. Dies war eine hauptsächlich von Stepanov und Lee entworfene Bibliothek, die dann als Teil der C ++ Standard Library übernommen wurde. Der Begriff wird allmählich bedeutungslos, aber deckt diese Teile der Standardbibliothek ab:
Wenn Sie sich C ++ - Programmierer nennen, sollten Sie mit all diesen Konzepten und der Implementierung der Standardbibliothek vertraut sein.
Die STL ist die Standardvorlagenbibliothek. Wie bei jeder Bibliothek handelt es sich um eine Sammlung von Code, die Ihnen das Leben erleichtert, indem Sie gut getesteten, robusten Code zur Wiederverwendung bereitstellen.
Vorteile
1, Sie müssen Standardcontainer nicht neu implementieren (Sie werden es sowieso falsch verstehen)
Lesen Sie dieses Buch von Nicolai M.Josuttis, um mehr über die STL zu erfahren, es ist das beste STL-Nachschlagewerk.
Es bietet allgemeine nützliche Werkzeuge für den Programmierer! Iteratoren, Algorithmen usw. Warum erfinden Sie das Rad neu?
Wikipedia hat einen guten Überblick: Ссылка
Die STL behebt einen großen Mangel an C ++ - das Fehlen eines Standard-String-Typs. Dies hat unzählige Kopfschmerzen verursacht, da es Tausende von String-Implementierungen gab, die nicht gut zusammenarbeiten.
Es steht für Standardvorlagenbibliothek
Es ist eine Reihe von Funktionen und Klassen, die Ihnen viel Arbeit ersparen.
Sie sind so konzipiert, dass sie Vorlagen verwenden, wo Sie eine Funktion definieren, aber nicht definieren, an welchem Datentyp sie arbeiten wird.
zum Beispiel, Vektor mehr oder weniger können Sie dynamische Arrays haben. Wenn Sie eine Instanz davon erstellen, sagen Sie, für welchen Typ sie arbeiten soll. Dies kann sogar Ihr eigener Datentyp (Klasse) sein.
Es ist schwer daran zu denken, aber es ist sehr mächtig und kann Ihnen viel Zeit sparen.
Lesen Sie es jetzt auf! Du willst es bereuen.
Es gibt Ihnen ein weiteres Akronym, um auf Cocktailpartys herumzuschleudern.
Im Ernst, überprüfen Sie die Intro-Dokumente, die z. mit dem Wikipedia Artikel über STL .
Die STL hat Iterators . Sicher, Sammlungen und andere Dinge sind nützlich, aber die Macht-Iteratoren sind gigantisch und machen meiner Meinung nach den Rest blass im Vergleich.