Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mentakrifkan Ahli Data Rentetan Malar Statik Peribadi dalam C?

Bagaimanakah Saya Boleh Mentakrifkan Ahli Data Rentetan Malar Statik Peribadi dalam C?

DDD
Lepaskan: 2024-12-25 04:20:14
asal
309 orang telah melayarinya

How Can I Define Private Static Constant String Data Members in C  ?

Mencapai Ahli Data String Const Statik: Panduan Komprehensif

Dalam usaha mentakrif rentetan pemalar statik peribadi untuk kelas, seperti kilang bentuk, anda mungkin menghadapi sekatan jalan dengan penyusun C. Ini disebabkan oleh sekatan yang dikenakan oleh piawaian C. Untuk mengatasi cabaran ini dan mewujudkan ahli data rentetan const statik, pertimbangkan penyelesaian berikut:

Pembolehubah Sebaris (C 17 dan Kemudian)

Menggunakan pembolehubah sebaris, diperkenalkan dalam C 17, menyediakan kemudahan dan cara yang cekap untuk mentakrifkan pembolehubah tetap statik:

class A {   
private:      
  inline static const string RECTANGLE = "rectangle";
};
Salin selepas log masuk

Definisi Luaran dan Permulaan

Versi Pra-C 17 memerlukan mentakrifkan ahli statik di luar kelas dan menyediakan pemula secara berasingan:

class A {   
private:      
  static const string RECTANGLE;
};
Salin selepas log masuk
const string A::RECTANGLE = "rectangle";
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa sintaks dengan pemula di dalam definisi kelas dikhaskan untuk jenis kamiran dan enum sahaja.

Perkataan pada #define

Walaupun #define kelihatan menggoda untuk menentukan pemalar, ia memperkenalkan tahap keterlihatan global yang mungkin tidak diingini. Sebagai contoh, jika pemalar ditakrifkan dalam fail pengepala, ia akan menjadi boleh diakses secara global untuk semua bahagian program. Ini boleh membawa kepada konflik penamaan dengan pelaksanaan berbeza yang mentakrifkan pemalar yang sama, antara isu berpotensi lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mentakrifkan Ahli Data Rentetan Malar Statik Peribadi dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan