Mentakrifkan Ahli Data Statik Jenis const std::string
Dalam C , mentakrifkan ahli const statik peribadi jenis std::string dalam kelas menggunakan permulaan dalam kelas, seperti yang ditunjukkan di bawah, tidak mematuhi C standard:
class A { private: static const string RECTANGLE = "rectangle"; }
Walau bagaimanapun, C menyediakan pendekatan alternatif untuk mencapai fungsi ini.
C 17 Pembolehubah Sebaris
Sejak C 17, anda boleh gunakan pembolehubah sebaris untuk tujuan ini. Pembolehubah sebaris ialah ciri C 17 yang membenarkan pengisytiharan pembolehubah statik secara langsung dalam definisi kelas, dengan kata kunci sebaris. Contohnya:
// In a header file (if necessary) class A { private: inline static const string RECTANGLE = "rectangle"; };
Pendekatan Pra-C 17
Sebelum C 17, anda mesti mentakrifkan ahli statik di luar definisi kelas dan menyediakan pemula di sana. Berikut ialah contoh:
// In a header file (if necessary) class A { private: static const string RECTANGLE; };
// In one of the implementation files const string A::RECTANGLE = "rectangle";
Nota: Sintaks permulaan yang anda cuba (dalam definisi kelas) hanya disokong untuk jenis kamiran dan enum.
Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan Static const std::string Ahli dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!