Rumah > Artikel > pembangunan bahagian belakang > Penggunaan penunjuk const dan objek tidak berubah dalam C++
Dalam C++, penunjuk const menunjuk kepada data yang tidak boleh diubah suai, manakala objek tidak berubah mempunyai ciri yang tidak boleh diubah suai Kelebihan utama: penunjuk const: menghalang data yang ditunjukkan daripada ditulis secara tidak sengaja dan memastikan integriti data. Objek tidak boleh ubah: Dengan membuat const pembolehubah ahli kelas, objek yang tidak boleh diubah suai dicipta untuk memastikan keselamatan data.
Dalam C++, penunjuk dan objek tidak berubah ialah dua alat berkuasa untuk mengurus memori data dan mencegah penulisan tidak sengaja. Mengetahui cara menggunakannya dengan betul adalah penting untuk menulis kod yang mantap dan bebas ralat.
const pointer ialah penunjuk kepada nilai atau objek malar. Ini bermakna data yang diakses melalui penunjuk ini tidak boleh diubah suai. Isytihar penunjuk const seperti ini:
const int* pointer_to_const_int; // 指向常量 int 的指针
Salah satu kelebihan utama penunjuk const ialah perlindungan terhadap penulisan yang tidak disengajakan. Sebagai contoh, pertimbangkan kod berikut:
int value = 10; int* pointer_to_value = &value; // 非 const 指针 *pointer_to_value = 20; // 修改 value 的值
Dalam contoh di atas, pointer_to_value
ialah penunjuk bukan const, yang membolehkan kami menukar value
yang ditunjuk. Jika kita cuba melakukan ini, pengkompil akan mengeluarkan ralat: pointer_to_value
是一个非 const 指针,允许我们更改指向的 value
。如果我们尝试这样做,编译器会发出错误:
const int* pointer_to_const_int = &value; // const 指针 *pointer_to_const_int = 20; // 错误:试图修改 const 值
不可变对象是不能被修改的对象。在 C++ 中,通常通过将类成员声明为 const
来创建不可变对象:
class MyClass { public: const int value; // const 成员变量 MyClass(const int& value) : value(value) {} };
创建 MyClass
MyClass object(10); const MyClass* pointer_to_const_object = &object; pointer_to_const_object->value; // 访问 const 成员变量Objek tidak berubahObjek tidak berubah ialah objek yang tidak boleh diubah suai. Dalam C++, objek tidak berubah biasanya dicipta dengan mengisytiharkan ahli kelas sebagai
const
: const char* message = "Hello World!";Selepas mencipta objek
MyClass
dan memberikan nilai kepada ahlinya, nilai itu tidak boleh Semak semula . Kita boleh menggunakan penunjuk kepada objek tidak berubah sama seperti penunjuk const: rrreeeContoh praktikal
Berikut ialah contoh bagaimana penunjuk const dan objek tidak berubah digunakan dalam projek sebenar:Pemalar rentetan dalam C++
adalah pemalar rentetan dalam C++ sebenarnya contoh objek tidak berubah. Kita boleh menggunakan penunjuk const pada rentetan ini seperti ini:
rrreeeDengan cara ini, kita boleh menggunakan rentetan dengan selamat tanpa perlu risau tentang mengubah suai kandungannya secara tidak sengaja.
🎜🎜Lindungi Data Sensitif🎜🎜🎜Kami boleh menggunakan penunjuk const dan objek tidak berubah untuk melindungi data sensitif seperti kata laluan atau maklumat kewangan. Dengan menyimpan data dalam objek tidak berubah dan mengaksesnya menggunakan penunjuk const, kami menghalang perubahan yang tidak dibenarkan. 🎜Atas ialah kandungan terperinci Penggunaan penunjuk const dan objek tidak berubah dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!