Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mentakrifkan Static const std::string Ahli dalam C ?

Bagaimana untuk Mentakrifkan Static const std::string Ahli dalam C ?

Linda Hamilton
Linda Hamiltonasal
2024-12-19 03:48:09974semak imbas

How to Define Static const std::string Members in C  ?

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!

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