Rumah >pembangunan bahagian belakang >C++ >## Bagaimana Saya Boleh Mengelak Pembolehubah Membayangi dalam Kelas C?

## Bagaimana Saya Boleh Mengelak Pembolehubah Membayangi dalam Kelas C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 01:41:30838semak imbas

## How Can I Avoid Shadowing Variables in C   Classes?

Membayangkan Pembolehubah dalam C

Membayangkan Pembolehubah, fenomena di mana pembolehubah dengan nama yang sama diisytiharkan dalam skop berbeza dalam atur cara, boleh membawa kepada kekeliruan dan tingkah laku yang tidak dijangka.

Dalam konteks kelas C, seperti yang ditunjukkan dalam coretan kod yang disediakan, isu ini boleh timbul apabila pembolehubah tempatan diisytiharkan dalam fungsi ahli yang berkongsi nama yang sama dengan pembolehubah ahli .

Memahami Bayangan

Dalam contoh, pembolehubah ahli T dan set_ukuran ditakrifkan dalam kelas Measure, manakala pembolehubah tempatan T diisytiharkan dalam kaedah get. Apabila pembolehubah tempatan ini diberikan nilai, ia membayangi pembolehubah ahli dengan nama yang sama.

Ini berlaku kerana pengkompil mencari definisi pembolehubah dalam skop semasa dahulu. Memandangkan pembolehubah tempatan wujud dalam kaedah get, ia lebih diutamakan daripada pembolehubah ahli.

Cara Mengelakkan Pembayang

Salah satu cara untuk mengelakkan pembayang berubah adalah dengan menggunakan awalan atau akhiran untuk pembolehubah ahli. Sebagai contoh, amalan biasa ialah menambah awalan "m_" untuk menunjukkan pembolehubah ahli. Ini membantu membezakannya daripada pembolehubah setempat.

Kod Contoh

Berikut ialah versi diubah suai bagi kelas Measure yang menggunakan awalan untuk mengelakkan pembayang:

Dalam contoh ini, pembolehubah ahli telah diawali dengan "m_" untuk mengelakkan bayangan. Kaedah get kini menggunakan pembolehubah ahli secara langsung tanpa sebarang konflik penamaan.

Kesimpulan

Memahami pembayang pembolehubah adalah penting untuk menulis kod C yang jelas dan betul. Menggunakan awalan atau akhiran untuk pembolehubah ahli boleh membantu mengelakkan kekeliruan dan memastikan pembolehubah yang betul sedang diakses dalam skop yang berbeza.

Atas ialah kandungan terperinci ## Bagaimana Saya Boleh Mengelak Pembolehubah Membayangi dalam Kelas C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn