Di semua kursus c ++ kami, semua pengajar selalu meletakkan using namespace std;
tepat setelah #include
s di .h
file 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 namespace
tidak 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 #include
semua header yang dibutuhkan .cpp
file yang sesuai, hanya yang diperlukan untuk definisi header dan membiarkan .cpp
file #include
sisanya, 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 .h
file.
Juga, jika saya benar, apakah ini kesalahan umum? Maksud saya dalam pemrograman dunia nyata dan dalam proyek "nyata" di luar sana.
Terima kasih.
using namespace
pernyataan maka Anda dapat menggunakan nama yang memenuhi syarat untuk menyelesaikan masalah.