軌道
/
C++
C++
/
課程大綱
/
命名空間
命名

命名空間 在 C++

3 個練習

關於 命名空間

命名空間是組織程式碼的重要方法。 兩個函式可能會有命名衝突,只要把它們放進不同的命名空間就能解決。 命名空間可以巢狀,這有助於組織大型的程式碼庫。 存取命名空間時,會使用作用域解析運算子::。

下面的範例示範了兩個不同的foo函式。 只要在它們前面加上各自的命名空間,就能一起使用。

namespace my_ns {
    int foo() {
        return 44;
    }
    namespace my_inner_ns {
        int baz() {
            return 90;
        }
    }
}
namespace my_other_ns {
    int foo() {
        return -2;
    }
}
int myresult{my_ns::foo() + my_other_ns::foo() * my_ns::my_inner_ns::baz()};
Advanced

過度巢狀的命名空間可能會太冗長。 可以透過using匯入命名空間來去除這種冗長。 這會把所有名稱搬進全域命名空間。 為了保留一些區別,使用別名可能會有幫助。

int my_other_result{my_ns::my_inner_ns::baz()};

using namespace my_ns::my_inner_ns; // importing the complete namespace
int also_other_result{baz()};

namespace m = my_ns; // setting an alias
namespace o = my_other_ns;

int also_my_result{m::foo() + o::foo() * m::my_inner_ns::baz()};
透過 GitHub 編輯 連結會在新視窗或分頁中開啟

學習 命名空間