Bagikan melalui


Gambaran umum Pustaka Standar (STL) C++

Semua entitas pustaka C++ dideklarasikan atau ditentukan dalam satu atau beberapa header standar. Implementasi ini mencakup dua header lain, <hash_map> dan <hash_set>, yang tidak diperlukan oleh C++ Standard. Untuk daftar lengkap header yang didukung implementasi ini, lihat Referensi file header.

Standar C++ mendefinisikan dua jenis pustaka yang sesuai:

  • Implementasi yang dihosting, yang mendukung semua header pustaka standar yang diperlukan yang dijelaskan oleh standar ISO C++.
  • Implementasi freestanding, yang hanya memerlukan subset header pustaka standar. Subset yang diperlukan adalah:
Subset header freestanding
<atomic> (mendeklarasikan setidaknya atomic_signed_lock_free dan atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(mendeklarasikan setidaknya abort, , atexit, at_quick_exitexit, 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>

Header berikut tidak digunakan lagi sejak C++11: <ciso646>, , <cstdalign>dan <cstdbool>.

Perbedaan lain antara implementasi freestanding dan yang dihosting adalah:

  • Implementasi yang dihosting memerlukan fungsi global bernama main. Implementasi freestanding dapat menentukan fungsi startup dan penghentiannya sendiri.
  • Implementasi yang dihosting harus mendukung lebih dari satu utas yang berjalan secara bersamaan. Implementor implementasi freestanding memutuskan apakah pustaka mereka mendukung utas bersamaan.

Pustaka standar Microsoft C++ memenuhi persyaratan freestanding dan yang dihosting.

Header pustaka C++ memiliki dua subdivisi yang lebih luas:

Bagian ini berisi bagian berikut:

Untuk informasi selengkapnya tentang pustaka run-time Visual C++, lihat Fitur Pustaka CRT.

Catatan

Implementasi Pustaka Standar C++ Microsoft sering disebut sebagai STL atau Pustaka Templat Standar. Meskipun Pustaka Standar C++ adalah nama resmi pustaka seperti yang didefinisikan dalam ISO 14882, karena penggunaan populer "STL" dan "Standard Template Library" di mesin pencari, kami kadang-kadang menggunakan nama-nama tersebut untuk mempermudah menemukan dokumentasi kami. Dari perspektif historis, "STL" awalnya mengacu pada Pustaka Templat Standar yang ditulis oleh Alexander Stepanov. Bagian dari pustaka tersebut distandarkan di Pustaka Standar C++, bersama dengan pustaka runtime ISO C, bagian dari pustaka Boost, dan fungsionalitas lainnya. Terkadang "STL" juga digunakan untuk merujuk ke bagian kontainer dan algoritma dari Pustaka Standar C++ yang diadaptasi dari STL Stepanov. Dalam dokumentasi ini, Pustaka Templat Standar (STL) mengacu pada Pustaka Standar C++ secara keseluruhan.

Baca juga

Pustaka Standar C++