Einige von der Programmiersprache C herrührende Header sind in diesem Buch zwar erwähnt, aber nicht beschrieben, weil sie durch C++ überflüssig geworden sind. Dazu gehört zum Beispiel der Header <cstdio> für die Ein- und Ausgabe, dessen Funktionen wegen der iostream-Bibliothek nicht mehr notwendig sind. Ferner werden die C-Header für Wide-Character- und Multibyte-Zeichen weggelassen, zumal die Unterstützung durch die String-Klasse gewährleistet ist. Hilfsmittel für eine eigene Speicherverwaltung werden nur in aller Kürze gestreift. Der einfacheren Lesbarkeit wegen werden manche Templates auf Zeichen des Typs char bezogen, sodass zum Beispiel die beiden Deklarationen (aus der Klasse bitset)
template <class charT, class traits, class Allocator>
basic_string<charT, traits, Allocator> to_string() const;
template <class charT, class traits, size_t N>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const bitset<N>& x);
vereinfacht werden zu
string to_string() const;
template <size_t N>
ostream& operator<<(ostream& os, const bitset<N>& x);
Die Standardbibliothek stellt einen Standard-Allokator (Klasse allocator) zur Speicherbeschaffung zur Verfügung. Die Speicherverwaltung mit eigenen Allokatoren ist möglich, aber relativ speziell und nur in seltenen Fällen notwendig, sodass hier stets vom Standard-Allokator ausgegangen wird. Daher werden im Folgenden nur die vereinfachten Deklarationen verwendet, wie gezeigt:
// vollständige Deklaration
template<class T, class Allocator = allocator<T> > class vector;
// vereinfachte Deklaration
template<class T> class vector;
Es ergeben sich keinerlei Probleme dadurch, weil der
Vorgabeparameter für den Allokator stets zuletzt kommt und
deswegen bei Bedarf eingefügt werden kann.
Inhalt
Index
Quelle: Ulrich Breymann: C++ Einführung und professionelle Programmierung, 9. Auflage, (C) Hanser Verlag 2007