ได้ Namespace สามารถซ้อนกัน (nested) ใน C++ เราสามารถกำหนด namespace หนึ่งอยู่ภายในอีก namespace หนึ่งได้ดังนี้:
ไวยากรณ์ (Syntax)
namespace namespace_name1 {
// code declarations
namespace namespace_name2 {
// code declarations
}
}
คุณสามารถเข้าถึงสมาชิกของ nested namespace โดยใช้ resolution operators ดังนี้:
// เข้าถึงสมาชิกของ namespace_name2 using namespace namespace_name1::namespace_name2; // เข้าถึงสมาชิกของ namespace_name1 using namespace namespace_name1;
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
// namespace แรก
namespace first_space {
void func() {
cout << "Inside first_space" << endl;
}
// namespace ที่สอง (nested)
namespace second_space {
void func() {
cout << "Inside second_space" << endl;
}
}
}
using namespace first_space::second_space;
int main() {
// เรียกฟังก์ชันจาก namespace ที่สอง
func();
return 0;
}
ผลลัพธ์
Inside second_space