Pemula Dalam Kelas: Mengapa Sekatan Dakap atau Sama?
Dalam C 11, pemula dalam kelas mesti mematuhi sintaks tertentu : mereka mesti sama ada disertakan dalam pendakap kerinting atau terus mengikut tanda sama dengan (=). Walau bagaimanapun, penggunaan tanda kurung tidak dibenarkan. Memahami rasional di sebalik keperluan ini adalah penting.
Mencegah Kekaburan Sintaks
Sekatan berpunca daripada potensi kekaburan sintaks. Pertimbangkan kelas berikut:
class AmbiguousSyntax { struct Overloaded; int Overloaded; int confusing(Overloaded); };
Barisan 4 adalah samar-samar jika kurungan dibenarkan untuk pemula dalam kelas. Ia berpotensi ditafsirkan sebagai sama ada pengisytiharan fungsi ahli bernama "mengelirukan" menerima parameter jenis "Terlebih muatan" atau takrif pembolehubah ahli "int" "mengelirukan" yang dimulakan kepada nilai ahli data "Terlebih muatan."
Kejelasan melalui Kurungan
Dengan memerlukan pendakap kerinting untuk pemula dalam kelas, C 11 menghilangkan kekaburan ini. Mengubah suai contoh sebelumnya:
class AmbiguousSyntax { struct Overloaded; int Overloaded; int confusing{Overloaded}; };
Kini, jelas bahawa "mengelirukan" ialah ahli integer yang dimulakan kepada nilai "Terlebih muatan," kerana penggunaan tanda kurung untuk parameter fungsi tidak dibenarkan.
Sekatan sintaks dalam C 11 ini memastikan pembezaan yang jelas antara pengisytiharan fungsi dan pengisytiharan/inisialisasi pembolehubah ahli, dengan itu meningkatkan kebolehbacaan kod dan mengelakkan kekeliruan dalam tafsiran pemula dalam kelas.
Atas ialah kandungan terperinci Mengapa C 11 Pemula Dalam Kelas Tidak Boleh Menggunakan Tanda Kurung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!