Di semua kursus c ++ kami, semua pengajar selalu meletakkan using namespace std;tepat setelah #includes di .hfile mereka . Bagi saya ini menjadi berbahaya sejak saat itu dengan memasukkan header itu ke dalam program lain, saya akan mendapatkan namespace yang diimpor ke program saya, mungkin tanpa disadari, disengaja atau diinginkan (penyertaan header bisa sangat bersarang).
Jadi pertanyaan saya adalah dua kali lipat: Apakah saya benar yang using namespacetidak boleh digunakan dalam file header, dan / atau adakah cara untuk membatalkannya, seperti:
//header.h
using namespace std {
.
.
.
}
Satu pertanyaan lagi di sepanjang baris yang sama: Haruskah file header #includesemua header yang dibutuhkan .cppfile yang sesuai, hanya yang diperlukan untuk definisi header dan membiarkan .cppfile #includesisanya, atau tidak ada dan menyatakan semua yang dibutuhkannya sebagai extern?
Alasan di balik pertanyaan tersebut sama seperti di atas: Saya tidak ingin kejutan ketika menyertakan .hfile.
Juga, jika saya benar, apakah ini kesalahan umum? Maksud saya dalam pemrograman dunia nyata dan dalam proyek "nyata" di luar sana.
Terima kasih.
using namespacepernyataan maka Anda dapat menggunakan nama yang memenuhi syarat untuk menyelesaikan masalah.