Menggunakan Pengepala C dalam C : Ruang Nama Global atau std:: Ruang Nama?
Dalam C , penggunaan pengepala C boleh dilakukan dengan minor pengubahsuaian pada nama mereka, sebagai contoh, stdio.h menjadi cstdio. Ini menimbulkan persoalan sama ada lebih baik menggunakan fungsi daripada ruang nama std:: atau ruang nama global apabila memanggil fungsi C dalam kod C.
Penjelasan:
Menurut Standard C 11, semua nama pengepala C dalam bentuk "name.h" diletakkan secara automatik dalam ruang nama global untuk keserasian dengan C perpustakaan standard. Walau bagaimanapun, Standard tidak menyatakan sama ada nama ini pertama kali diisytiharkan atau ditakrifkan dalam ruang nama std:: dan kemudian disuntik ke dalam ruang nama global atau sebaliknya.
Cadangan:
Berdasarkan pengesyoran Standard, adalah dicadangkan untuk memilih memasukkan pengepala "cname" (cth., cstdio) dan menggunakan pengisytiharan dan takrifan daripada ruang nama std:: atas sebab-sebab berikut:
Contoh:
Pendekatan pilihan ialah:
#include <cstdio> int main() { std::printf("Hello world\n"); }
Kesimpulan:
Semasa adalah mungkin untuk memanggil fungsi C menggunakan sama ada ruang nama global atau ruang nama std::, adalah lebih dinasihatkan untuk mengikuti cadangan Standard C dan lebih suka menggunakan pengepala cname dengan std:: pengisytiharan dan takrifan ruang nama.
Atas ialah kandungan terperinci Pengepala C dalam C : Ruang Nama Global atau std:: Ruang Nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!