Pengembalian Awal, break, continue, dan goto
Sederhanakan kondisi bertingkat dengan pengembalian awal dan gunakan break, continue, serta goto secara bijaksana
Pengembalian Awal, break, continue, dan goto adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.
Piramida Malapetaka
Kondisional yang sangat bertingkat sulit dibaca. Pengembalian awal dapat meratakan strukturnya secara drastis.
// Pyramid
int process(int n) {
if (n >= 0) {
if (n < 100) {
if (isValid(n)) {
return compute(n);
}
}
}
return -1;
}Susun Ulang dengan Pengembalian Awal
Keluar segera setelah prasyarat gagal. Setiap klausa penjaga menjadi satu baris yang datar.
int process(int n) {
if (n < 0) return -1;
if (n >= 100) return -1;
if (!isValid(n)) return -1;
return compute(n);
}Klausa Penjaga
Klausa penjaga menolak masukan yang tidak valid di bagian awal fungsi. Klausa ini membuat alur sukses terlihat jelas.
break dalam Perulangan
Keluar dari perulangan ketika Anda menemukan hal yang dicari, atau ketika suatu kesalahan membuat kelanjutan tidak ada gunanya.
continue: Lewati Sisanya
Gunakan continue untuk melewati kasus yang tidak berlaku, tanpa membuat sisa isi perulangan bertingkat.
for (auto& item : items) {
if (item.skipped) continue;
process(item);
}Keluar dari Perulangan Bertingkat
break hanya keluar satu tingkat. Untuk keluar dari beberapa tingkat, gunakan variabel penanda, susun ulang menjadi fungsi, atau gunakan goto sebagai pilihan terakhir.
bool found = false;
for (int i = 0; i < n && !found; ++i) {
for (int j = 0; j < m; ++j) {
if (grid[i][j] == target) {
found = true;
break;
}
}
}Pernyataan goto
C++ mewarisi goto dari C. Kode modern jarang memerlukannya—tetapi ada satu penggunaan yang sah: melompat keluar dari perulangan bertingkat atau jalur kesalahan.
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if (error_condition) goto cleanup;
}
}
cleanup:
free_resources();Mengapa goto Tidak Dianjurkan
Lompatan sembarang membuat alur kontrol sulit diikuti. Dahulukan penyusunan ulang atau variabel penanda. Simpan goto untuk jalur pembersihan yang jarang terjadi dalam kode tingkat rendah.
Menyingkirkan goto dengan Penyusunan Ulang
Sebagian besar penggunaan goto dapat digantikan dengan:
- Mengekstrak blok dalam menjadi fungsi
- Menggunakan variabel penanda
- Melempar dan menangkap pengecualian
return dalam destruktor
Anda tidak dapat melakukan return lebih awal dari destruktor dengan return; di bagian atas—destruktor tidak mengembalikan nilai. Namun, Anda dapat menyusunnya dengan kondisi awal untuk melewati pekerjaan tertentu.
Gaya Satu Jalur Keluar (Lama)
Kode lama terkadang menggunakan satu return di bagian bawah dan sebuah variabel hasil. C++ modern mengutamakan beberapa pengembalian awal agar lebih jelas. RAII menangani pembersihan secara otomatis.
Pemeriksaan Singkat
Teknik alur kontrol mana yang paling rapi untuk menggantikan rangkaian if-else bertingkat dalam sebuah fungsi?
Ringkasan
Gunakan pengembalian awal sebagai klausa penjaga, gunakan break dan continue secukupnya agar maksud kode jelas, dan gunakan goto hanya untuk keluar dari perulangan bertingkat atau jalur pembersihan yang jarang terjadi. Tujuannya adalah alur kontrol yang mudah dibaca dan datar.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pengembalian Awal, break, continue, dan goto” gratis?
Ya — teks lengkap “Pengembalian Awal, break, continue, dan goto” 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 “Pengembalian Awal, break, continue, dan goto”?
Sederhanakan kondisi bertingkat dengan pengembalian awal dan gunakan break, continue, serta goto secara bijaksana 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 4 dari 4.
Berapa lama pelajaran “Pengembalian Awal, break, continue, dan goto” 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
- Percabangan: if-else, ternary, switch-case
- Pola Perulangan: for, while, do-while
- Perulangan for Berbasis Rentang dengan Kontainer
- Pengembalian Awal, break, continue, dan goto