Udostępnij przez


Omówienie standardowej biblioteki języka C++ (STL)

Wszystkie jednostki biblioteki języka C++ są zadeklarowane lub zdefiniowane w co najmniej jednym nagłówku standardowym. Ta implementacja obejmuje dwa inne nagłówki <hash_map> i <hash_set>, które nie są wymagane przez standard C++. Aby uzyskać pełną listę nagłówków, które obsługuje ta implementacja, zobacz Dokumentacja plików nagłówków.

Standard C++ definiuje dwa rodzaje zgodnych bibliotek:

  • Hostowana implementacja, która obsługuje wszystkie wymagane nagłówki biblioteki standardowej opisane w standardzie ISO języka C++.
  • Implementacja wolna, która wymaga tylko podzbioru nagłówków biblioteki standardowej. Wymagany podzbiór to:
Podzestaw nagłówka wolnostojącego
<atomic> (deklarowanie co najmniej atomic_signed_lock_free i atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(deklarowanie co najmniej abort, , at_quick_exitatexit, exit, quick_exit) <ratio>
<cfloat> <exception> <tuple>
<climits> <functional> <typeinfo>
<compare> <initializer_list> <source_location>
<concepts> <iterator> <type_traits>
<coroutine> <limits> <utility>
<cstdarg> <memory> <version>
<cstddef> <new>

Następujące nagłówki są przestarzałe od języka C++11: <ciso646>, <cstdalign>i <cstdbool>.

Inne różnice między implementacjami wolnymi i hostowanymi to:

  • Hostowane implementacje wymagają funkcji globalnej o nazwie main. Implementacja wolnostojąca może definiować własne funkcje uruchamiania i kończenia.
  • Implementacje hostowane muszą obsługiwać więcej niż jeden wątek uruchomiony w tym samym czasie. Implementatory implementacji wolnostojących decydują, czy ich biblioteka obsługuje wątki współbieżne.

Standardowa biblioteka języka Microsoft C++ spełnia zarówno wymagania wolnostojące, jak i hostowane.

Nagłówki biblioteki języka C++ mają dwie szersze podziały:

Ta sekcja zawiera następujące sekcje:

Aby uzyskać więcej informacji na temat bibliotek czasu wykonywania języka Visual C++, zobacz Funkcje biblioteki CRT.

Uwaga

Implementacja standardowej biblioteki C++ firmy Microsoft jest często nazywana biblioteką szablonów STL lub Standard. Mimo że biblioteka Standardowa języka C++ jest oficjalną nazwą biblioteki zdefiniowaną w standardzie ISO 14882, ze względu na popularne użycie biblioteki "STL" i "Standardowej biblioteki szablonów" w wyszukiwarkach, od czasu do czasu używamy tych nazw, aby ułatwić znalezienie naszej dokumentacji. Z perspektywy historycznej "STL" pierwotnie odniósł się do standardowej biblioteki szablonów napisanej przez Alexandra Stepanova. Części tej biblioteki zostały ustandaryzowane w standardowej bibliotece języka C++ wraz z biblioteką środowiska uruchomieniowego ISO C, częściami biblioteki Boost i innymi funkcjami. Czasami "STL" jest również używany do odwoływania się do kontenerów i algorytmów części standardowej biblioteki języka C++ dostosowanej z biblioteki STL Stepanov. W tej dokumentacji biblioteka szablonów standardowych (STL) odnosi się do standardowej biblioteki języka C++ jako całości.

Zobacz też

Standardowa biblioteka C++