C++命名空间namespace

目录

初识C++

命名空间的作用

命名空间域能规避同名冲突

命名空间域不影响生命周期

初识C++

刚进入C++的学习,大家可能首先会看到这样一段代码。

using namespace std;

 这段代码的意思是命名空间展开。其中using是展开,std(standard)代表C++标准库,而namespace则代表命名空间域。在首行代码写下#include<iostream>后,再配合这段代码,就可以直接使用cout、cin等C++标准库里的函数。如果不写这段代码直接用IO流头文件。在使用cin、cout等函数时就要使用限定访问操作符::,例如C++标准库下打印1,就要写成:

std::cout<<1<<std::endl;

命名空间的作用

命名空间域能规避同名冲突

命名空间的作用有很多,它能在不同的域里定义相同的函数,自定义类型。它能规避自定义类型重名引发冲突的问题,还能在多个域中自由调用(前提是不能展开,展开只是对于调用频繁,且代码量少的代码中有所帮助,随意展开相当于没有设置命名空间。当然,我们也可以采用局部展开的方式:

using af::a

这样就相当于将命名空间域af里的自定义类型a给展开了,在使用时就不用再加上限定访问操作符::了。

命名空间域不影响生命周期

与全局域和局部域不同,命名空间域和之后要学的类域不会影响生命周期。但需要注意的是,命名空间域和类域中的自定义类型一般是全局变量。且不能定义在函数内部,但可以相互嵌套定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值