Jak wszystkie nowoczesne języki programowania, C++ dostarcza, prócz narzędzi związanych z samym językiem, bibliotekę gotowych funkcji, klas, szablonów itd. Biblioteka podzielona jest na wiele części: aby z nich korzystać, w tworzonym programie wystarczy użyć odpowiednich dyrektyw #include włączających pliki nagłówkowe opisujące funkcjonalność poszczególnych modułów biblioteki (na temat plików nagłówkowych patrz rozdział o modułach i plikach nagłówkowych ). Implementacja funkcji, klas itd. z biblioteki standardowej, w postaci plików binarnych, dostarczana jest przez producenta kompilatora C++ (można również korzystać z innych, niezależnych implementacji, zarówno komercyjnych jak i typu open source).
Biblioteka standardowa nie jest tak bogata jak w innych językach, gdyż nie uwzględnia takich zagadnień jak programowanie sieciowe, graficzne, bazodanowe itd. Skupia się głównie na implementacji kolekcji (kontenerów) i algorytmów na tych kolekcjach operujących. Ta część biblioteki standardowej nazywana jest, ze względów historycznych, standardową biblioteką wzorców (szablonów), czyli STL (od ang. Standard Template Library).
W odróżnieniu od Javy i wielu innych języków, biblioteka standardowa C++ dostarcza przede wszystkim szablonów; konkretyzując te szablony użytkownik tworzy klasy i funkcje operujące na (prawie) dowolnych typach danych. Ważną rolę pełnią w szczególności szablony klas kolekcyjnych, pozwalające tworzyć kolekcje obiektów o różnych własnościach i funkcjonalności. Elementy wstawiane do kolekcji mogą być typu wbudowanego (w szczególności mogą to być wskaźniki), albo typu obiektowego (w szczególności definiowanego przez nas samych). Zwykle typy takie powinny spełniać pewne wymagania, aby mogły współdziałać z algorytmami z biblioteki standardowej; na przykład posiadać domyślny i kopiujący/przenoszący konstruktor albo przeciążone operatory porównania czy przypisania.
Oczywiście nie cała biblioteka standardowa ma formę wzorców: w poprzednich rozdziałach poznaliśmy, niejako mimochodem, inne składniki tej biblioteki, które szablonami nie są, takie jak udogodnienia dostarczane przez dołączenie plików nagłówkowych cstdlib, cstring, cmath (te akurat składniki biblioteki są odziedziczone z C).
Rozdział niniejszy należy traktować jako wstęp do opisu biblioteki standardowej — więcej szczegółów można znaleźć w książkach cytowanych w spisie literatury .
T.R. Werner, 23 lutego 2022; 19:40