【C++碎碎念】命名空间

目录

命名空间

1、命名空间的定义

2、命名空间的嵌套

3、命名空间的使用


命名空间

只要学习C++语言就必不可少的写这样的一段程序

using namespace std;

其中namespace 就是我们C++中的命名空间

首先,我们说一下为什么要引入命名空间呢?

其实啊,在我们的C/C++语言中,变量、函数以及类都是大量存在的,这些变量和函数以及类都是在全局域中,一不小心就有可能有冲突。再比如我们以后写项目,要链接第三方的库文件,那么就有可能我们的命名变量就和别的变量发生冲突,在C语言中,我们只能靠将名字尽量起的复杂一些来解决这个问题,但是也还是无法避免,所以为了避免这种冲突,C++就引入了命名冲突这种机制,来避免命名冲突。

1、命名空间的定义

namespace 名称{

}

例如

namespace name{
    int a;
    int b;
    int add(int x,int y)
    {
        return x+y;
    }
}

这块代码的意思是,a,b变量以及add函数就是name命名空间下的,命名空间不仅可以定义变量,而且还可以定义函数

2、命名空间的嵌套

namespace name{
    int a;
    namespace zhangsan{
        int b;
    }
}

在这里需要注意的是,同一个工程允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间。

3、命名空间的使用

1、using namespace name;

//虽然我们经常这么写,非常省事,但是这样也不安全,不建议使用。

2、using name :: a;

//部分展开,只展开命名空间的部分内容,相对来说也是比较安全的。

3、name :: a;

//这种情况就是我想用哪个变量,我就专门去调用哪个变量,这样写起来最安全,但是写起来麻烦

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值