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_exit 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> |
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:
Konvensi referensi pustaka Standar (STL) C++.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk