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

Bagaimana untuk Memulakan Pembolehubah Statik dengan betul dalam Kelas C?

DDD
Lepaskan: 2024-12-05 13:12:11
asal
935 orang telah melayarinya

How to Properly Initialize Static Variables in C   Classes?

Memulakan Pembolehubah Statik dalam Kelas C

Dalam pengaturcaraan berorientasikan objek, selalunya perlu untuk memulakan pembolehubah statik dalam kelas. Walau bagaimanapun, amalan ini boleh menimbulkan cabaran, seperti yang ditunjukkan oleh soalan berikut:

Dilema:
Seorang pembangun telah mengenal pasti beberapa fungsi dalam kelas mereka yang tidak memerlukan akses objek dan oleh itu mempunyai telah ditandakan sebagai statik. Walau bagaimanapun, pengkompil menuntut semua pembolehubah yang diakses juga diisytiharkan statik. Pembangun kemudiannya mengisytiharkan pembolehubah ini sebagai pembolehubah statik dalam kelas tetapi menghadapi ralat kompilasi.

Penyelesaian:
Untuk memulakan pembolehubah statik dalam kelas, seseorang harus mentakrifkannya dalam pengisytiharan kelas tetapi mulakannya dalam fail sumber yang berasingan. Ini ditunjukkan di bawah:

// Class Header
class Thing {
public:
    static string RE_ANY;
    static string RE_ANY_RELUCTANT;
};

// Source File
string Thing::RE_ANY = "([^\n]*)";
string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";
Salin selepas log masuk

Pertimbangan Alternatif:
Adalah penting untuk ambil perhatian bahawa menjadikan fungsi statik bermakna ia tidak lagi dikaitkan dengan objek dan tidak boleh mengakses ahli bukan statik . Sebaliknya, pertimbangkan untuk menandakan mereka sebagai const, yang menghalang mereka daripada mengubah suai ahli tetapi membenarkan akses kepada mereka.

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