Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Pembolehubah Statik Tahap Fungsi Berbeza dalam Peruntukan dan Permulaan Berbanding Pembolehubah Global dan Tempatan?
Peruntukan dan Permulaan Pembolehubah Statik Tahap Fungsi: Penyelaman Lebih Dalam
Walaupun pembolehubah global biasanya diperuntukkan dan dimulakan semasa program bermula, peruntukan dan permulaan pembolehubah statik peringkat fungsi mengikut corak yang lebih bernuansa.
Apabila Pembolehubah Statik Tahap Fungsi Diperuntukkan
Tidak seperti pembolehubah global, pembolehubah statik peringkat fungsi adalah diperuntukkan apabila fungsi pertama kali dimasukkan. Ini berbeza dengan peruntukan pembolehubah tempatan, yang berlaku setiap kali fungsi dipanggil.
Apabila Pembolehubah Statik Tahap Fungsi Dimulakan
Pengawalan fungsi -peringkat pembolehubah statik berlaku sekali sahaja, pada kali pertama fungsi dimasukkan. Ini kerana kata kunci statik memastikan pembolehubah mengekalkan nilainya merentas pelbagai panggilan fungsi.
Contoh untuk Kejelasan
Pertimbangkan coretan kod berikut:
void doSomething() { static bool globalish = true; // ... }
Apabila pelaksanaan program mencapai fungsi doSomething buat kali pertama, pembolehubah global akan diperuntukkan dalam bingkai tindanan fungsi. Kemudian, permulaannya kepada benar akan berlaku. Pada panggilan berikutnya ke fungsi doSomething, pembolehubah global sudah akan diperuntukkan dan dimulakan, dan nilainya akan dikekalkan.
Kesimpulan
Ringkasnya, tahap fungsi pembolehubah statik diperuntukkan apabila fungsi pertama kali dimasukkan dan dimulakan sekali sahaja, semasa entri pertama itu. Tingkah laku ini berbeza daripada pembolehubah global dan pembolehubah tempatan, menyediakan mekanisme unik dan berguna untuk mengekalkan data berterusan dalam fungsi.
Atas ialah kandungan terperinci Bagaimanakah Pembolehubah Statik Tahap Fungsi Berbeza dalam Peruntukan dan Permulaan Berbanding Pembolehubah Global dan Tempatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!