Pertanyaan yang diberi tag «c++-standard-library»

Dalam bahasa pemrograman C ++, Perpustakaan Standar C ++ adalah kumpulan kelas dan fungsi, yang mungkin atau mungkin tidak ditulis dalam bahasa inti, dan merupakan bagian dari C ++



5
Apa perbedaan antara "STL" dan "C ++ Standard Library"?
Seseorang membawa artikel ini ke perhatian saya bahwa klaim (saya memparafrasekan) istilah STL disalahgunakan untuk merujuk ke seluruh Perpustakaan Standar C ++ daripada bagian-bagian yang diambil dari SGI STL. (...) ini mengacu pada "STL", meskipun faktanya sangat sedikit orang masih menggunakan STL (yang dirancang di SGI). Bagian dari C + …

9
C ++ valarray vs vektor
Saya suka banyak vektor. Mereka bagus dan cepat. Tapi saya tahu benda yang disebut valarray ini ada. Mengapa saya menggunakan valarray bukan vektor? Saya tahu valarrays memiliki sedikit gula sintaksis, tetapi selain itu, kapan mereka berguna?

8
Menghapus elemen dari std :: set saat iterasi
Saya perlu melalui satu set dan menghapus elemen yang memenuhi kriteria yang telah ditentukan. Ini adalah kode tes yang saya tulis: #include <set> #include <algorithm> void printElement(int value) { std::cout << value << " "; } int main() { int initNum[] = { 0, 1, 2, 3, 4, 5, 6, …


2
Apa mekanisme pengoptimalan string pendek di libc ++?
Jawaban ini memberikan ikhtisar tingkat tinggi yang bagus tentang pengoptimalan string pendek (SSO). Namun, saya ingin mengetahui lebih detail cara kerjanya dalam praktik, khususnya dalam implementasi libc ++: Seberapa pendek string harus agar memenuhi syarat untuk SSO? Apakah ini bergantung pada arsitektur target? Bagaimana implementasi membedakan antara string pendek dan …



1
Mengapa vektor libc ++ <bool> :: const_reference bukan bool?
Bagian 23.3.7 Kelas vector&lt;bool&gt;[vector.bool], paragraf 1 menyatakan: template &lt;class Allocator&gt; class vector&lt;bool, Allocator&gt; { public: // types: typedef bool const_reference; ... Namun program ini gagal untuk dikompilasi saat menggunakan libc ++: #include &lt;vector&gt; #include &lt;type_traits&gt; int main() { static_assert(std::is_same&lt;std::vector&lt;bool&gt;::const_reference, bool&gt;{}, "?"); } Lebih lanjut saya perhatikan bahwa standar C ++ …

4
Apakah fitur eksperimental C ++ modern dapat diandalkan untuk proyek jangka panjang?
Saya memiliki proyek yang saat ini menggunakan C ++ 11/14, tetapi membutuhkan sesuatu seperti std::filesystem, yang hanya tersedia di C ++ 17, dan karenanya saya tidak memiliki kesempatan untuk menggunakannya saat ini. Saya melihat, bagaimanapun, bahwa itu tersedia di kompiler saya saat ini sebagai std::experimental::filesystem. Apakah ide yang baik untuk …

2
Mengapa operator! = Dihapus dalam C ++ 20 untuk banyak tipe perpustakaan standar?
Menurut cppreference , std::type_info::operator!=dihapus dengan C ++ 20, bagaimanapun, std::type_info::operator==tampaknya tetap. Apa alasan di baliknya? Saya mungkin setuju untuk membandingkan ketidaksetaraan menjadi tidak berarti, tetapi kemudian membandingkan kesetaraan akan sama tidak berartinya, bukan? Demikian pula, operator!=dari banyak jenis perpustakaan standar lainnya, termasuk wadah seperti std::unordered_map::operator!=dan std::unordered_set::operator!=akan dihapus dalam C ++ …


2
Mengapa `std :: string :: find ()` tidak mengembalikan iterator akhir saat gagal?
Saya menemukan perilaku std::string::findtidak konsisten dengan wadah standar C ++. Misalnya std::map&lt;int, int&gt; myMap = {{1, 2}}; auto it = myMap.find(10); // it == myMap.end() Tapi untuk sebuah string, std::string myStr = "hello"; auto it = myStr.find('!'); // it == std::string::npos Kenapa bukan yang gagal myStr.find('!')kembali myStr.end()saja std::string::npos? Karena std::stringagak …

2
Apakah GCC9 menghindari keadaan std :: varian yang tidak bernilai diizinkan?
Saya baru-baru ini mengikuti diskusi Reddit yang mengarah ke perbandingan yang bagus dari std::visitoptimasi di kompiler. Saya perhatikan hal berikut: https://godbolt.org/z/D2Q5ED Baik GCC9 dan Clang9 (saya kira mereka berbagi stdlib yang sama) tidak menghasilkan kode untuk memeriksa dan melempar pengecualian yang tidak bernilai ketika semua jenis memenuhi beberapa persyaratan. Ini …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.