Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memulakan Pembolehubah Rentetan Statik Malar dengan Betul dalam Kelas C?

Bagaimana untuk Memulakan Pembolehubah Rentetan Statik Malar dengan Betul dalam Kelas C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-05 02:42:13943semak imbas

How to Properly Initialize Constant Static String Variables in C   Classes?

Pemulaan Pembolehubah Statik dalam Kelas C

Dalam C , pembolehubah kelas statik hanya boleh dimulakan di luar definisi kelas. Walau bagaimanapun, ini boleh menimbulkan cabaran apabila berurusan dengan pembolehubah rentetan yang harus kekal malar dalam kelas. Untuk menangani isu ini, kita boleh memulakan pembolehubah ini di luar kelas dalam fail sumber:

// Inside the class header file (.h)
class Thing {
    static const string RE_ANY;
    static const string RE_ANY_RELUCTANT;
};

// In the source file (.cpp)
const string Thing::RE_ANY = "([^\n]*)";
const string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";

Satu nota penting ialah jika pembolehubah bertujuan untuk tetap dan tidak boleh diubah suai oleh kaedah kelas, ia disyorkan untuk menggunakan kata kunci const dan bukannya menjadikannya statik. Pembolehubah statik dikongsi antara semua kejadian kelas, manakala pembolehubah const masih boleh diakses oleh kaedah bukan const tetapi tidak boleh diubah suai.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Pembolehubah Rentetan Statik Malar dengan Betul dalam Kelas 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