Dasar std::vector: push_back, size, capacity
Buat, kembangkan, dan periksa vektor serta pahami perbedaan capacity dan size
Dasar std::vector: push_back, size, capacity adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.
Mengapa std::vector?
std::vector adalah kontainer bawaan di C++. Kontainer ini tumbuh secara otomatis, mengelola memori untuk Anda, dan menyediakan akses acak O(1). Gunakan kontainer ini kecuali Anda memiliki alasan khusus untuk tidak menggunakannya.
Menyertakan dan Mendeklarasikan
Sertakan <vector> dan deklarasikan dengan tipe elemen sebagai parameter templat.
#include <vector>
std::vector<int> nums;
std::vector<std::string> names = {"Ada", "Bob"};Bentuk Inisialisasi
Beberapa cara untuk memulai sebuah vector:
std::vector<int> a; // empty
std::vector<int> b(5); // 5 zeros
std::vector<int> c(5, 42); // 5 copies of 42
std::vector<int> d{1, 2, 3}; // {1,2,3}
std::vector<int> e(d); // copy of dpush_back: Menambahkan di Akhir
Tambahkan elemen ke akhir dengan push_back. O(1) teramortisasi.
std::vector<int> v;
v.push_back(10);
v.push_back(20);
v.push_back(30);emplace_back: Membuat di Tempat
emplace_back meneruskan argumennya ke konstruktor elemen — tanpa objek sementara. Sedikit lebih cepat untuk tipe yang tidak sederhana.
std::vector<std::pair<int,int>> v;
v.emplace_back(1, 2); // constructs a pair in placesize dibandingkan capacity
Dua konsep yang berbeda:
- size — jumlah elemen yang saat ini tersimpan
- capacity — jumlah elemen yang dapat ditampung penyimpanan tanpa realokasi
Capacity bertambah dalam beberapa bagian, biasanya berlipat dua.
Memeriksa size dan capacity
Gunakan fungsi anggota yang sesuai:
std::vector<int> v;
for (int i = 0; i < 10; ++i) {
v.push_back(i);
std::cout << "size=" << v.size() << " capacity=" << v.capacity() << "\n";
}reserve: Menyediakan Capacity di Awal
Jika Anda mengetahui jumlah elemen yang akan ditambahkan, panggil reserve terlebih dahulu untuk menghindari realokasi berulang.
std::vector<int> v;
v.reserve(1000000); // preallocate
for (int i = 0; i < 1000000; ++i) v.push_back(i);shrink_to_fit: Membebaskan Memori
Setelah menghapus banyak elemen, bebaskan capacity yang tidak digunakan dengan shrink_to_fit. Perilaku ini tidak mengikat — implementasi boleh mempertahankan ruang tambahan.
Mengakses Elemen
Empat cara:
v[i]— tanpa pemeriksaanv.at(i)— memeriksa batas, melempar pengecualianv.front()— elemen pertamav.back()— elemen terakhir
Kosong dan clear
Periksa apakah kosong dengan empty(). Hapus semua elemen dengan clear() — capacity tidak berubah.
Pemeriksaan Singkat
Mengapa push_back memiliki waktu O(1) teramortisasi?
Ringkasan
std::vector adalah array yang dapat bertambah dengan akses acak O(1). size() adalah jumlah elemen; capacity() adalah ukuran penyimpanan. reserve() menghindari realokasi jika ukuran akhir sudah diketahui.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar std::vector: push_back, size, capacity” gratis?
Ya — teks lengkap “Dasar std::vector: push_back, size, capacity” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Dasar std::vector: push_back, size, capacity”?
Buat, kembangkan, dan periksa vektor serta pahami perbedaan capacity dan size Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C++ Academy?
Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Dasar std::vector: push_back, size, capacity” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar std::vector: push_back, size, capacity
- Melakukan Iterasi pada Vektor: indeks, range-for, iterator
- Memodifikasi Vektor: insert, erase, clear
- Vector vs std::array vs Array C