ในบทความนี้เราจะมาดูวิธีการใช้เนมสเปซในโค้ด 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