Biblioteka standardowa C++ jest właściwie jedną z "ostatnich" dopracowanych (no, mniej więcej) części C++. Wszelkie opisane tu właściwości wypada znać i bezwzględnie stosować raczej, niż innych bibliotek o podobnych właściwościach. Nie mówię tego na próżno, bowiem wiele takowych powstało. Powstało też nie bez powodu - w każdym programowaniu potrzeba operować różnymi standardowymi strukturami danych, a jak ich nie było, to każdy deklarował swoje. Dlatego implementacje różnych dynamicznych tablic, list, zbiorów, a także napisów można spotkać w bardzo wielu bibliotekach.
Jedną z ostatnich części biblioteki standardowej jest STL. Jedną z pierwszych, o ile pamiętam, iostream i complex. Po drodze one się jeszcze sporo zmieniały, bo np. complex kiedyś było klasą z polami typu double, a aktualnie jest wzorcem (a tamta postać istnieje jako double_complex). Iostreamy też przeszły trochę transformacji, m.in. rozdzielono je na ios, iosfwd, istream i ostream, poza tym też zostały zaimplementowane jako wzorce, by umożliwić operowanie na stringu unikodowym. String z kolei jest też - co może jest nieco dziwne - jedną z późniejszych klas. No i jednymi z ostatnich są te standardowe typy wyjątków.
Jedną z rzeczy, którą ustalono wręcz "w ostatniej chwili" były przestrzenie nazw, w związku z czym utworzono przestrzeń nazw "std", w której znajdują się wszystkie definiowane przez bibliotekę standardową symbole.
Oto pełna lista standardowych plików nagłówkowych C++:
<algorithm> <cstdarg> <ios> <ostream> <bitset> <cstddef> <iosfwd> <queue> <cassert> <cstdio> <iostream> <set> <cctype> <cstdlib> <istream> <sstream> <cerrno> <cstring> <iterator> <stack> <cfloat> <ctime> <limits> <stdexcept> <ciso646> <cwchar> <list> <streambuf> <climits> <cwctype> <locale> <string> <clocale> <deque> <map> <typeinfo> <cmath> <exception> <memory> <utility> <complex> <fstream> <new> <valarray> <csetjmp> <functional> <numeric> <vector> <csignal> <iomanip>
Omówię teraz po kolei nagłówki względem kategorii.
Operacje wejścia-wyjścia to podstawowe operacje tzw. komunikacji strumieniowej. Należą do tego głównie operacje na plikach i strumieniach standardowych.