Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ข้อเสียของการใช้เนมสเปซทั้งหมดใน C++


ใน C++ เราใช้เนมสเปซต่างกัน เรายังสามารถสร้างเนมสเปซของเราเองได้ ตัวอย่างเช่น โดยทั่วไป เราใช้เนมสเปซมาตรฐานที่เรียกว่า std เราเขียนไวยากรณ์เช่น:

using namespace std;

ในไลบรารีมาตรฐาน มันมีฟังก์ชันทั่วไปที่คุณใช้ในการสร้างแอปพลิเคชันของคุณ เช่น คอนเทนเนอร์ อัลกอริธึม ฯลฯ หากชื่อที่ใช้โดยชื่อเหล่านี้ไม่เปิดเผย ตัวอย่างเช่น หากพวกเขากำหนดคลาสคิวทั่วโลก คุณจะไม่สามารถ เพื่อใช้ชื่อเดิมอีกครั้งโดยไม่มีข้อขัดแย้ง ดังนั้นพวกเขาจึงสร้างเนมสเปซ มาตรฐานเพื่อให้มีการเปลี่ยนแปลงนี้

การใช้คำสั่งเนมสเปซหมายความว่าในขอบเขตที่มีอยู่ ทำให้ทุกสิ่งภายใต้เนมสเปซ std พร้อมใช้งานโดยไม่ต้องนำหน้า std::ก่อนแต่ละรายการ

แม้ว่าแนวทางปฏิบัตินี้จะใช้ได้สำหรับตัวอย่างโค้ด แต่การดึงเนมสเปซ std ทั้งหมดลงในเนมสเปซส่วนกลางนั้นไม่ดีเพราะขัดต่อจุดประสงค์ของเนมสเปซและอาจนำไปสู่การชนกันของชื่อได้ สถานการณ์นี้เรียกว่ามลพิษเนมสเปซ