Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah kata kunci 'statik' dalam C benar-benar tidak digunakan?

Adakah kata kunci 'statik' dalam C benar-benar tidak digunakan?

DDD
DDDasal
2024-11-13 07:23:02872semak imbas

Is the 'static' keyword in C   truly deprecated?

Pautan Dalaman dan Kata Kunci 'statik' yang ditamatkan dalam C

Pembangun C telah lama menggunakan kata kunci 'statik' dalam unit terjemahan untuk mengawal keterlihatan simbol. Walau bagaimanapun, amalan ini mendapat penamatan dalam n3092, diikuti dengan penyingkirannya dalam n3225.

Rasional untuk Penamatan

Penyingkiran 'statik' bertujuan untuk tidak menggalakkan penggunaannya untuk mengisytiharkan objek dalam skop ruang nama , kerana ruang nama yang tidak dinamakan menawarkan alternatif yang lebih baik. Walau bagaimanapun, isu menjejaki kecacatan C mendedahkan sebab bernuansa untuk perubahan ini.

Pembatalan Penamatan

Dalam Semakan 94 Laporan Kecacatan Bahasa Teras Standard C, isu tersebut (1012. Tidak menafikan statik ) menjelaskan bahawa:

Walaupun 7.3.1.1 [namespace.unnamed] menyatakan bahawa penggunaan kata kunci statik untuk mengisytiharkan pembolehubah dalam skop ruang nama telah ditamatkan kerana ruang nama yang tidak dinamakan menyediakan alternatif yang lebih baik, tidak mungkin ciri itu akan dialih keluar pada bila-bila masa pada masa hadapan yang boleh dijangka.

Kegigihan 'statik'

Kemas kini ini secara berkesan membalikkan penamatan. 'Statik' kekal sebagai kata kunci yang sah untuk mengisytiharkan fungsi dan objek dengan pautan dalaman. Kelebihan utamanya terletak pada kepekatannya dan kekurangan kod boilerplate tambahan berbanding menggunakan ruang nama yang tidak dinamakan.

Implikasi untuk Keserasian C dan C

Penyingkiran asal bertujuan untuk meningkatkan pematuhan C kepada piawaian C , kerana C tidak mengenali ruang nama yang tidak dinamakan. Walau bagaimanapun, keputusan untuk membatalkan penamatan itu mengakui kerumitan dunia sebenar penyusunan program C sebagai C .

Kesimpulan

Penyingkiran 'statik' mungkin berniat baik, tetapi penyingkirannya mencerminkan kesedaran bahawa ruang nama yang tidak dinamakan tidak menggantikan sepenuhnya utiliti 'statik' untuk mengisytiharkan objek dengan pautan dalaman. Akibatnya, pembangun boleh terus menggunakan 'statik' dengan yakin, kerana kehadirannya dalam standard C tidak mungkin pudar dalam masa terdekat.

Atas ialah kandungan terperinci Adakah kata kunci 'statik' dalam C benar-benar tidak digunakan?. 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