ในหลักสูตร c ++ ทั้งหมดของเราครูทุกคนจะใส่using namespace std;
หลัง#include
s ลงใน.h
ไฟล์เสมอ สิ่งนี้ดูเหมือนว่าฉันจะเป็นอันตรายตั้งแต่นั้นมาโดยการรวมส่วนหัวนั้นไว้ในโปรแกรมอื่นฉันจะได้รับเนมสเปซที่นำเข้ามาในโปรแกรมของฉันอาจจะโดยไม่รู้ตัวตั้งใจหรือต้องการ (การรวมส่วนหัวอาจซ้อนกันได้ลึกมาก)
ดังนั้นคำถามของฉันจึงเป็นสองเท่า: ฉันพูดถูกหรือusing namespace
เปล่าที่ไม่ควรใช้ในไฟล์ส่วนหัวและ / หรือมีวิธียกเลิกบางอย่างเช่น:
//header.h
using namespace std {
.
.
.
}
อีกหนึ่งคำถามในบรรทัดเดียวกัน: ส่วนหัวควรจัดเก็บส่วนหัว#include
ทั้งหมดที่.cpp
ไฟล์นั้นต้องการเฉพาะคำถามที่จำเป็นสำหรับคำจำกัดความของส่วนหัวและปล่อยให้.cpp
ไฟล์#include
เหลือหรือไม่มีเลยและประกาศทุกสิ่งที่ต้องการเป็นextern
?
เหตุผลเบื้องหลังคำถามก็เหมือนกับข้างบน: ฉันไม่ต้องการความประหลาดใจเมื่อรวม.h
ไฟล์
นอกจากนี้ถ้าฉันพูดถูกนี่เป็นข้อผิดพลาดทั่วไปหรือไม่ ฉันหมายถึงการเขียนโปรแกรมในโลกแห่งความเป็นจริงและในโครงการ "จริง" ที่นั่น
ขอบคุณ.
using namespace
ข้อความคุณสามารถใช้ชื่อที่มีคุณสมบัติครบถ้วนเพื่อแก้ปัญหา