c++命名空间,看这个就能学会。非常简单

68 阅读1分钟

一、命名空间

命名空间只能在全局范围内使用。
它可以避免命名冲突的问题。

1.使用方法

( : : 符号为作用域限定符)

方法一:指定命名空间

//可以不嵌套
namespace N1{
    int n;
    int add(int left,int right){
        return left+right;
    }
}
//也可以嵌套
namespace N2{
    int a;
    int b;
    int add(int left,int right){
        return left+right;
    }
    namespace N3{
        int c;
        int a;
        int sum(int left,int right){
            return left+right;
        }
    }
}
//使用可以指定它来自哪个命名空间
int main(){
    cin>>N1::n;
    cin>>N2::N3::a;
}

方法二:using引入成员

namespace N1{
    int n;
    int add(int left,int right){
        return left+right;
    }
}
namespace N2{
    int a;
    int b;
    int add(int left,int right){
        return left+right;
    }
    namespace N3{
        int c;
        int a;
        int sum(int left,int right){
            return left+right;
        }
    }
}

int main(){
    using N1::n;
    cin>>n;//n就不用指定了
    cin>>N2::N3::a;

}

方法三:using引入空间全部

namespace N1{
    int n;
    int add(int left,int right){
        return left+right;
    }
}
namespace N2{
    int a;
    int b;
    int add(int left,int right){
        return left+right;
    }
    namespace N3{
        int c;
        int a;
        int sum(int left,int right){
            return left+right;
        }
    }
}

int main(){
    using namespace N1;
    cin>>n;//n就不用指定了
    add(1,3);
}