Standard library menyimpan kumpulan container dan utilitas yang telah teruji. Di section ini kita memakai string, vector, map, set, optional, variant, dan span, lalu merangkum kriteria memilih container yang tepat untuk tiap kebutuhan program.
Kenali standard library C++: container, algorithm, iterator, utility, dan I/O, serta alasan mengapa kita memakainya di hampir setiap program.
Buka → # std::string dan string_viewKuasai sisi praktis std::string: konversi string dan angka, keluarga find, substr, serta posisi string_view sebagai jendela baca-saja.
Buka → # std::array dan std::vectorOperasi lanjutan std::array dan std::vector: fill, swap, insert, erase, perbedaan push_back dan emplace_back, serta kapan masing-masing dipakai.
Buka → # std::deque dan std::listKenali std::deque yang cepat di kedua ujung dan std::list yang lincah di tengah, lengkap dengan perbandingan terhadap std::vector.
Buka → # std::stack dan std::queueGunakan adapter std::stack (LIFO) dan std::queue (FIFO) untuk pola tumpukan dan antrean, disertai pengantar std::priority_queue.
Buka → # std::set dan std::multisetSimpan nilai unik yang selalu terurut dengan std::set, dan izinkan duplikat dengan std::multiset: insert, find, count, dan erase.
Buka → # std::map dan std::multimapPetakan kunci ke nilai dengan std::map: operator[] vs at() vs insert, iterasi pair dengan structured bindings, dan multimap untuk banyak nilai per kunci.
Buka → # std::unordered_setstd::unordered_set: keanggotaan O(1) rata-rata lewat hash, urutan iterasi yang tidak ditentukan, dan perbandingannya dengan std::set.
Buka → # std::unordered_mapPetakan kunci-nilai dengan akses O(1) rata-rata: contains, count, find, emplace, dan insert_or_assign pada std::unordered_map.
Buka → # std::pair dan std::tupleBungus beberapa nilai dalam satu objek dengan std::pair dan std::tuple: first/second, std::get, make_tuple, tuple_size, dan structured bindings.
Buka → # std::optionalNyatakan 'mungkin tidak ada nilai' dengan std::optional: has_value, operator bool, value vs value_or, dan perbandingannya dengan sentinel.
Buka → # std::variantSimpan salah satu dari beberapa tipe dengan aman lewat std::variant: holds_alternative, get_if, dan std::visit dengan lambda.
Buka → # std::anyTampung tipe apa pun dengan std::any: any_cast, pemeriksaan has_value dan type(), biaya runtime, dan kapan memilih any dibanding variant.
Buka → # spanJendela non-owning ke data kontigu lewat std::span: satu parameter fungsi menerima vector, std::array, dan array C, plus subspan untuk potongan tanpa salinan.
Buka → # std::chronoKuasai penanganan waktu C++ lewat std::chrono: tiga konsep inti duration, clock, dan time_point, literal waktu C++14, konversi antar satuan, kalender C++20, hingga pengantar time zone.
Buka → # std::function dan Type ErasureSimpan callable apa pun — function pointer, lambda, functor — dalam satu wadah std::function: type erasure, cek keadaan kosong, biayanya, dan pola callback registry.
Buka → # Regex dengan std::regexCari, validasi, dan ganti pola teks dengan std::regex: regex_match, regex_search, regex_replace, regex_iterator, pilihan grammar, dan kapan parsing manual lebih tepat.
Buka → # bitsetKelola deret bit berukuran tetap dengan std::bitset: set, reset, test, flip, count, operasi bitwise, konversi ke string, dan use case flag.
Buka → # Numeric AlgorithmsFungsi perhitungan dari header <numeric>: gcd dan lcm untuk bilangan bulat, midpoint (C++20) untuk titik tengah tanpa luapan, plus ringkasan seluruh isi header.
Buka → # Utility FunctionsFungsi utilitas dari <utility> dan <algorithm>: std::swap, std::exchange, std::min/max/clamp, helper std::pair, dan pratinjau std::move.
Buka → # Memilih Container yang TepatKerangka keputusan memilih container: tabel perbandingan seluruh container yang dipelajari, pertanyaan kunci, demo satu data dengan empat pilihan berbeda, dan penutup Section Standard Library.
Buka →