Pertanyaan yang diberi tag «stl»

Standard Template Library, atau STL, adalah pustaka C ++ dari wadah generik, iterator, algoritma, dan objek fungsi. Ketika C ++ distandarisasi, sebagian besar STL diadopsi ke dalam Perpustakaan Standar, dan bagian-bagian ini di Perpustakaan Standar juga kadang-kadang keliru disebut secara kolektif sebagai "STL".


6
Mengapa tidak masalah mengembalikan 'vektor' dari suatu fungsi?
Harap pertimbangkan kode ini. Saya telah melihat kode jenis ini beberapa kali. wordsadalah vektor lokal. Bagaimana mungkin mengembalikannya dari suatu fungsi? Bisakah kita jamin dia tidak akan mati? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if (!file.is_open()) { std::cerr << "Unable to open file" << "\n"; std::exit(-1); } std::vector<string> words;//this …


9
Di mana saya bisa mendapatkan algoritme pencarian biner C ++ yang "berguna"?
Saya memerlukan algoritma pencarian biner yang kompatibel dengan wadah C ++ STL, seperti std::binary_searchdi <algorithm>header perpustakaan standar , tetapi saya membutuhkannya untuk mengembalikan iterator yang menunjuk pada hasil, bukan boolean sederhana yang memberi tahu saya jika elemen itu ada. (Sebagai catatan tambahan, apa yang dipikirkan komite standar ketika mereka mendefinisikan …

5
Menggunakan komparator std :: set kustom
На этот вопрос есть ответы на Stack Overflow на русском : Компаратор для set Saya mencoba mengubah urutan default item dalam satu set bilangan bulat menjadi leksikografik, bukan numerik, dan saya tidak bisa mendapatkan yang berikut untuk dikompilasi dengan g ++: file.cpp: bool lex_compare(const int64_t &a, const int64_t &b) { …
106 c++  stl 

10
Mengapa std :: set tidak memiliki fungsi anggota "berisi"?
Saya banyak menggunakan std::set<int>dan seringkali saya hanya perlu memeriksa apakah set seperti itu berisi angka atau tidak. Menurut saya wajar untuk menulis: if (myset.contains(number)) ... Tetapi karena kekurangan containsanggota, saya perlu menulis yang rumit: if (myset.find(number) != myset.end()) .. atau yang tidak begitu jelas: if (myset.count(element) > 0) .. Apakah …
103 c++  stl  stdset 

6
Mengapa vektor <bool> bukan container STL?
Item 18 dari buku Scott Meyers Effective STL: 50 Specific Ways to Impro your Use of Standard Template Library mengatakan untuk menghindari vector &lt;bool&gt;karena ini bukan wadah STL dan tidak benar-benar menahan bool. Kode berikut: vector &lt;bool&gt; v; bool *pb =&amp;v[0]; tidak akan dikompilasi, melanggar persyaratan kontainer STL. Kesalahan: cannot …


6
string c_str () vs. data ()
Saya telah membaca beberapa tempat bahwa perbedaan antara c_str()dan data()(dalam STL dan implementasi lainnya) adalah yang c_str()selalu dibatalkan sementara data()tidak. Sejauh yang saya lihat dalam implementasi aktual, mereka melakukan hal yang sama atau data()panggilan c_str(). Apa yang kulewatkan di sini? Manakah yang lebih tepat digunakan dalam skenario mana?
102 c++  stl  c-str 

5
Menghapus elemen dari vektor
Saya ingin menghapus elemen dari vektor menggunakan metode hapus. Tetapi masalahnya di sini adalah bahwa elemen tersebut tidak dijamin hanya terjadi sekali dalam vektor. Ini mungkin ada beberapa kali dan saya perlu menghapus semuanya. Kode saya adalah seperti ini: void erase(std::vector&lt;int&gt;&amp; myNumbers_in, int number_in) { std::vector&lt;int&gt;::iterator iter = myNumbers_in.begin(); std::vector&lt;int&gt;::iterator …
101 c++  vector  stl  erase 


3
Apakah implementasi gcc std :: unordered_map lambat? Jika demikian - mengapa?
Kami sedang mengembangkan perangkat lunak kritis berkinerja tinggi dalam C ++. Di sana kita membutuhkan peta hash bersamaan dan menerapkannya. Jadi kami menulis patokan untuk mencari tahu, seberapa lambat peta hash serentak kami dibandingkan std::unordered_map. Tapi, std::unordered_mapsepertinya sangat lambat ... Jadi ini adalah tolok ukur mikro kami (untuk peta bersamaan …

4
Akses elemen peta C ++
Saya mencoba menggunakan operator [] mengakses elemen dalam peta const C ++, tetapi metode ini gagal. Saya juga mencoba menggunakan "at ()" untuk melakukan hal yang sama. Kali ini berhasil. Namun, saya tidak dapat menemukan referensi tentang penggunaan "at ()" untuk mengakses elemen di peta C ++ const. Apakah "at …
100 c++  stl  map  const 

2
Mengapa std :: ssize () diperkenalkan di C ++ 20?
C ++ 20 memperkenalkan std::ssize()fungsi gratis seperti di bawah ini: template &lt;class C&gt; constexpr auto ssize(const C&amp; c) -&gt; std::common_type_t&lt;std::ptrdiff_t, std::make_signed_t&lt;decltype(c.size())&gt;&gt;; Sebuah implementasi yang mungkin tampaknya menggunakan static_cast, untuk mengubah nilai kembali dari size()fungsi anggota cl ass C menjadi mitra yang ditandatangani. Karena size()fungsi anggota C selalu mengembalikan nilai non-negatif, …
99 c++  stl  unsigned  signed  c++20 


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.