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

เนมสเปซใน C++


พิจารณาสถานการณ์เมื่อเรามีบุคคลสองคนที่มีชื่อเดียวกันคือซาร่าในชั้นเรียนเดียวกัน เมื่อใดก็ตามที่เราต้องการแยกความแตกต่าง เราจะต้องใช้ข้อมูลเพิ่มเติมพร้อมกับชื่อของพวกเขา เช่น พื้นที่นั้นๆ หากพวกเขาอาศัยอยู่คนละพื้นที่ หรือชื่อแม่หรือพ่อ เป็นต้น

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

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

การกำหนดเนมสเปซ

นิยามเนมสเปซเริ่มต้นด้วยเนมสเปซคำหลักตามด้วยชื่อเนมสเปซดังนี้ –

namespace namespace_name {
   // code declarations
}

หากต้องการเรียกใช้ฟังก์ชันหรือตัวแปรเวอร์ชันที่เปิดใช้เนมสเปซ ให้เติม (::) ชื่อเนมสเปซดังนี้ –

name::code; // code could be variable or function.

ตัวอย่าง

#include <iostream>
using namespace std;
// first name space
namespace first_space {
   void func() {
      cout << "Inside first_space" << endl;
   }
}
// second name space
namespace second_space {
   void func() {
      cout << "Inside second_space" << endl;
   }
}
int main () {
   // Calls function from first name space.
   first_space::func();
   // Calls function from second name space.
   second_space::func();
   return 0;
}

ผลลัพธ์

Inside first_space
Inside second_space