


Adakah C Destructors Dipanggil untuk Pembolehubah Global dan Statik?
Nov 06, 2024 pm 01:22 PMAdakah C Memanggil Pemusnah untuk Pembolehubah Statik Global dan Kelas?
Bertentangan dengan beberapa andaian, C memang memanggil pemusnah untuk kedua-dua global dan kelas -pembolehubah statik. Pemusnahannya berlaku pada dua persimpangan tertentu:
- Setelah Kembali dari Utama: Apabila fungsi main() berakhir, semua pembolehubah global dan statik kelas dimusnahkan. Ini bersesuaian dengan § 3.6.3 piawai C 03, yang mewajibkan pemusnahan ini "akibat daripada kembali dari utama."
- Setelah Memanggil Keluar: Jika fungsi exit() ialah digunakan dalam program anda, ia mencetuskan pemusnahan pembolehubah global dan statik kelas "akibat daripada memanggil keluar," seperti yang digariskan dalam § 3.6.3.
Perlu diperhatikan bahawa susunan pemusnahan untuk pembolehubah ini mencerminkan susunan terbalik pembina atau permulaan dinamiknya. Tambahan pula, mengikut § 9.4.2 7, ahli data statik dimulakan dan dimusnahkan secara identik dengan objek bukan tempatan.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pemusnah tanpa gelagat yang boleh diperhatikan mungkin tidak digunakan. Ini diterokai lebih lanjut dalam respons Terry Mahaffey kepada "Adakah pemusnah C dijamin tidak akan dipanggil sehingga akhir blok?"
Atas ialah kandungan terperinci Adakah C Destructors Dipanggil untuk Pembolehubah Global dan Statik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Gulc: Perpustakaan C dibina dari awal

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Penggunaan dan perkongsian frasa yang berbeza

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?
