30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

16. Die <strong>C++</strong> Standard Library<br />

Dieser dritte Abschnitt des Buchs ist e<strong>in</strong>er überblicksmäßigen Besprechung<br />

der C ++ Standard Library gewidmet. Wie zu Beg<strong>in</strong>n des Buchs erwähnt<br />

wurde, würde e<strong>in</strong>e detaillierte Beschreibung der gesamten Funktionsweise<br />

und der Designentscheidungen, die zur derzeitigen Form der Library geführt<br />

haben, bei weitem den Rahmen sprengen. Deshalb beschränke ich mich hier<br />

darauf, kurz zu erklären, welchen Umfang die Standard Library hat und was<br />

man pr<strong>in</strong>zipiell damit tun kann. Das Ziel dieses Kapitels ist es also, den<br />

Lesern e<strong>in</strong> Gefühl dafür zu vermitteln, bei welchen Problemstellungen sie<br />

selbst Hand anlegen müssen und wofür bereits wiederverwendbare Lösungen<br />

existieren.<br />

Die C ++ Standard Library ist üblicherweise bei Entwicklern unter dem<br />

Namen STL (=Standard Template Library) bekannt und dementsprechend<br />

wird auch hier im Buch <strong>in</strong> der Folge die Bezeichnung STL dafür verwendet.<br />

Diese Bezeichnung verrät auch bereits sehr viel über die Natur der Library:<br />

Sie enthält e<strong>in</strong>e größere Menge an Templates zum Lösen von Standardproblemen,<br />

die sich Entwicklern im Alltag immer wieder stellen.<br />

16.1 Übersicht<br />

Es war gerade zuvor die Rede von Standardproblemen, die zum Entwicklungsalltag<br />

gehören, nun stellt sich also die Frage, welche dieser Probleme es<br />

wert s<strong>in</strong>d, <strong>in</strong> e<strong>in</strong>e Standard Library aufgenommen zu werden. Die Entwickler<br />

der STL sche<strong>in</strong>en die folgende, sehr logische und lobenswerte Sicht vertreten<br />

zu haben, als sie entschieden, welchen Umfang die STL haben soll:<br />

Was s<strong>in</strong>d die pr<strong>in</strong>zipiellen Low-Level Datenstrukturen und Algorithmen,<br />

die man bei be<strong>in</strong>ahe jeder Problemlösung benötigt? Diese gehören e<strong>in</strong> für<br />

alle Mal befriedigend und möglichst allgeme<strong>in</strong>gültig implementiert, sodass sie<br />

nicht noch unzählige Male von neuem implementiert werden müssen!<br />

Welche Entwickler kennen nicht die Situation, immer wieder bestimmte<br />

Datenstrukturen, wie z.B. Listen, Stacks, etc., von neuem implementieren<br />

zu müssen, da alle ihre anderen Implementationen so spezialisiert für e<strong>in</strong>e<br />

bestimmte Anwendung s<strong>in</strong>d, dass sie außerhalb dieser Anwendung wieder<br />

nicht vernünftig verwendet werden können. Nach der x-ten Implementation

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!