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

Namespace สามารถซ้อนกัน (Nested) ได้ใน C++ ไหม?

ได้ 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