Rumah >pembangunan bahagian belakang >C++ >Mengapakah `const` Menyiratkan Pautan Dalaman dalam C tetapi Pautan Luaran dalam C?

Mengapakah `const` Menyiratkan Pautan Dalaman dalam C tetapi Pautan Luaran dalam C?

DDD
DDDasal
2024-12-02 17:01:11672semak imbas

Why Does `const` Imply Internal Linkage in C   but External Linkage in C?

Mengapa Const Menyiratkan Pautan Dalaman dalam C , tetapi Tidak dalam C

Dalam C , kata kunci 'const' menandakan pembolehubah atau objek malar. Bertentangan dengan C, dalam C , mengisytiharkan pemalar pada skop ruang nama membayangkan kaitan dalaman dan bukannya kaitan luaran.

Lampiran C (C 11, C.1.2) memberikan alasan di sebalik perbezaan ini:

"Nama skop fail yang diisytiharkan secara eksplisit const, dan tidak diisytiharkan secara eksplisit extern, mempunyai pautan dalaman, manakala dalam C ia akan mempunyai kaitan luaran."

Pengubahsuaian ini diperkenalkan untuk menggalakkan nilai permulaan yang jelas untuk objek malar, memanfaatkan penggunaannya sebagai nilai masa kompilasi dalam C . Dengan membenarkan penempatan objek const dalam fail pengepala disertakan dalam berbilang unit kompilasi, ciri ini meningkatkan organisasi kod.

Atas ialah kandungan terperinci Mengapakah `const` Menyiratkan Pautan Dalaman dalam C tetapi Pautan Luaran dalam 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