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

การขยายเนมสเปซและเนมสเปซที่ไม่มีชื่อ


เราจะมาดูกันว่าเราจะขยายเนมสเปซได้อย่างไร และสามารถใช้เนมสเปซที่ไม่มีชื่อหรือไม่ระบุชื่อได้

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

ตัวอย่าง

#include <iostream>
using namespace std;
namespace my_namespace {
   int my_var = 10;
}
namespace my_namespace { //extending namespace
   int my_new_var = 40;
}
main() {
   cout << "The value of my_var: " << my_namespace::my_var << endl;
   cout << "The value of my_new_var: " << my_namespace::my_new_var << endl;
}

ผลลัพธ์

The value of my_var: 10
The value of my_new_var: 40

เนมสเปซที่ไม่มีชื่อจะไม่มีชื่อใดๆ ซึ่งมีคุณสมบัติที่แตกต่างกัน

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

ตัวอย่าง

#include <iostream>
using namespace std;
namespace {
   int my_var = 10;
}
main() {
   cout << "The value of my_var: " << my_var << endl;
}

ผลลัพธ์

The value of my_var: 10