thumb|180px|Alexander Stepanov, twórca alokatorów Alokator – jeden z niskopoziomowych mechanizmów biblioteki STL języka C++, wykorzystywany w kontenerach do dynamicznej alokacji oraz zwalniania pamięci.
Biblioteka STL definiuje wiele różnych struktur danych, takich jak lista (std::list) czy zbiór (std::set), powszechnie nazywanych kontenerami. Ich podstawową własnością jest możliwość zmiany rozmiaru w czasie działania programu, podczas której może dojść do dynamicznej alokacji lub dealokacji pamięci. Za przydzielanie i zwalnianie pamięci w takich sytuacjach odpowiedzialne są alokatory. Standardowa biblioteka szablonów definiuje alokatory wykorzystywane domyślnie przez kontenery. Programista może jednak definiować i wstrzykiwać własne.
Pomysłodawcą i twórcą alokatorów był Alexander Stepanov, jeden z głównych autorów biblioteki STL. Początkowo ich celem było zwiększenie elastyczności biblioteki oraz uniezależnienie jej od konkretnych modeli pamięci, co pozwoliłoby na wykorzystanie w niej niestandardowych wskaźników oraz referencji. Jednak podczas dyskusji nad włączeniem biblioteki do standardu języka C++, komitet standaryzacyjny zauważył, że w pełni abstrakcyjny model pamięci wiąże się ze znacznym zmniejszeniem wydajności. Aby temu zapobiec, zwiększono wymagania stawiane alokatorom.