Rumah >pembangunan bahagian belakang >C++ >Mengapa Pembolehubah Ahli Statik dalam C Dimulakan di Luar Definisi Kelas?
Permulaan Pembolehubah Ahli Statik dalam C
Dalam pengaturcaraan berorientasikan objek (OOP), adalah perkara biasa untuk mempunyai pembolehubah ahli dalam kelas. Walau bagaimanapun, pembolehubah ahli statik dalam C berbeza daripada rakan bukan statiknya kerana ia dimulakan di luar definisi kelas. Ini menimbulkan persoalan: mengapa ini berlaku?
Kekangan Logik
struct Gizmo { static string name = "Foo"; };
Dalam contoh ini, nama akan ditakrifkan dalam setiap unit terjemahan yang termasuk fail pengepala, melanggar peraturan.
Perspektif Sejarah
Sesetengah pembangun berpendapat bahawa permulaan dalam kelas akan menjadi lebih intuitif dan kurang mengelirukan. Walau bagaimanapun, piawaian C tidak mengubah tingkah laku ini disebabkan oleh:
Kesimpulan
Keperluan untuk permulaan luaran ahli statik pembolehubah dalam C didorong oleh kekangan logik dan pertimbangan sejarah. Dengan memusatkan pemulaan dalam satu unit terjemahan, piawaian memastikan ketekalan, pematuhan kepada Peraturan Satu Definisi dan keserasian ke belakang dengan kod C sedia ada.
Atas ialah kandungan terperinci Mengapa Pembolehubah Ahli Statik dalam C Dimulakan di Luar Definisi Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!