Memilih Bekas Perpustakaan Standard C 11 Optimum
Helaian helaian "C Container Choice" klasik menyediakan panduan untuk memilih bekas yang sesuai untuk senario penggunaan tertentu. Walau bagaimanapun, ia tidak mempunyai versi yang dikemas kini untuk C 11.
Untuk mengimbangi, berikut ialah aliran kerja teks untuk membantu dalam pemilihan kontena:
1. Semantik Didahulukan
Bekas Bersekutu:
- Gunakan Bekas Bersekutu jika anda memerlukan carian menggunakan satu kekunci.
- Pilih Bekas Tersusun untuk diselenggarakan elemen.
- Untuk pasangan nilai kunci yang berasingan, gunakan Peta; untuk kekunci sahaja, pertimbangkan Set.
- Dayakan pendua dengan awalan "berbilang".
Bekas Jujukan Mudah:
- Pilih bekas yang sesuai berdasarkan kriteria berikut:
2. Kestabilan Memori
- Gunakan Senarai jika elemen mesti kekal dalam ingatan semasa pengubahsuaian bekas.
- Lalai ke Senarai; gunakan Forward_List sahaja untuk mengurangkan jejak memori.
3. Saiz Dinamik
- Gunakan Tatasusunan jika saiz diketahui pada masa penyusunan dan kekal malar, dan unsur boleh dibina secara lalai atau dimulakan menggunakan pendakap kerinting.
4. Berakhir Berdua
- Pilih Deque jika anda perlu menambah atau mengalih keluar item daripada kedua-dua hujung.
- Pilih Vektor sebaliknya.
Contoh
Senario: Mendapatkan semula data orang berdasarkan unik ID.
- Kami memerlukan kefungsian cari (Bekas Bersekutu).
- Pesanan tidak berkaitan (Tidak Tersusun).
- Kunci (ID) diasingkan daripada nilai (Peta) .
- Tiada pendua (no "berbilang").
Keputusan: std::unordered_map.
Nota: Jika tiada kekangan khusus gunakan, Vektor disyorkan sebagai pilihan lalai untuk bekas jujukan mudah.
Atas ialah kandungan terperinci Bekas Perpustakaan Standard C 11 yang manakah Perlu Saya Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!