Pemboleh Ubah dan Parameter const
Lindungi data daripada perubahan
Pemboleh Ubah dan Parameter const ialah pelajaran C++ Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran C++ Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus C++ Academy merangkumi sejumlah 4 pelajaran.
Mengisytiharkan Pemboleh Ubah const
Pemboleh ubah const tidak boleh diubah selepas dimulakan. Pengkompil menguatkuasakan perkara ini dan mengesan penulisan yang tidak disengajakan.
#include <iostream>
int main() {
const int maxUsers = 100;
// maxUsers = 200; // ERROR
std::cout << maxUsers << "\n";
}Parameter Fungsi const
Menandakan parameter mengikut nilai sebagai const menghalang badan fungsi daripada mengubah salinan setempatnya — satu bantuan untuk dokumentasi dan keselamatan.
#include <iostream>
int doubled(const int n) {
// n = 0; // ERROR
return n * 2;
}
int main() { std::cout << doubled(21) << "\n"; }Parameter Rujukan const
Menghantar melalui const& mengelakkan penyalinan objek besar sambil menjamin bahawa objek tersebut tidak diubah — cara piawai untuk menghantar rentetan dan bekas.
#include <iostream>
#include <string>
void printLen(const std::string& s) { // no copy, no change
std::cout << s.size() << "\n";
}
int main() { printLen("hello"); }Penuding kepada const
const T* bermaksud anda tidak boleh mengubah nilai yang dituding melalui penuding ini, walaupun penuding itu sendiri boleh ditetapkan kepada sasaran lain.
#include <iostream>
int main() {
int a = 1, b = 2;
const int* p = &a;
// *p = 5; // ERROR: value is const
p = &b; // OK: pointer can move
std::cout << *p << "\n";
}Penuding const
T* const ialah penuding malar: anda tidak boleh menetapkannya kepada sasaran lain, but anda boleh mengubah nilai yang ditudingnya.
#include <iostream>
int main() {
int a = 1;
int* const p = &a;
*p = 9; // OK: value changeable
// p = nullptr; // ERROR: pointer is const
std::cout << *p << "\n";
}Membaca Pengisytiharan dari Kanan ke Kiri
Baca pengisytiharan const dari kanan ke kiri: const int* const ialah "penuding const kepada int const" — nilai dan penuding tidak boleh diubah.
Mengapa Ketepatan const?
Menggunakan const di mana-mana yang sesuai mendokumentasikan niat, mencegah pepijat dan membolehkan pengkompil melakukan pengoptimuman. Disiplin ini dipanggil ketepatan const.
const Membolehkan Pemanggil const
Fungsi yang menerima const& boleh menerima argumen const dan bukan const, serta objek sementara. Rujukan bukan const tidak boleh terikat kepada objek sementara.
Local const Membantu Penaakulan
Mengisytiharkan pemboleh ubah setempat sebagai const apabila nilainya tidak sepatutnya berubah menjadikan kod lebih mudah dibaca dan mencegah penetapan semula yang tidak disengajakan.
#include <iostream>
int main() {
const double rate = 0.2;
const double total = 100 * (1 + rate);
std::cout << total << "\n";
}const Aras Teratas pada Nilai
Bagi parameter mengikut nilai, const aras teratas tidak mempengaruhi pemanggil — ia hanya mengehadkan badan fungsi dan sering digugurkan dalam pengisytiharan.
Tambahkan const Sejak Awal
Memulakan dengan kod yang mempunyai ketepatan const jauh lebih mudah berbanding menambahkannya kemudian. Gunakan const pada parameter, rujukan dan pemboleh ubah setempat sebagai tabiat lalai.
Semakan Pantas
Uji pemahaman anda tentang const.
Ringkasan
Anda telah mempelajari cara menggunakan const pada pemboleh ubah, parameter, rujukan dan penuding, serta perbezaan antara penuding kepada const dengan penuding const. Ketepatan const mendokumentasikan niat, mencegah pepijat dan membolehkan pengikatan kepada objek sementara serta pengoptimuman.
Pelajari C++ dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Soalan Lazim
Adakah pelajaran “Pemboleh Ubah dan Parameter const” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran C++ Academy, termasuk “Pemboleh Ubah dan Parameter const”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus C++ Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pemboleh Ubah dan Parameter const”?
Lindungi data daripada perubahan Anda berlatih C++ Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan C++ Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran C++ Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Pemboleh Ubah dan Parameter const” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pemboleh Ubah dan Parameter const
- Fungsi Ahli const
- constexpr dan Masa Kompilasi
- consteval dan constinit