【C++】命名空间

C++命名空间详解

1、为何C++要引入命名空间

    命名空间解决一个大的项目中命名冲突的问题,一个大的C项目中,成千上万的函数容易出现重名的问题,导致错误重载或者其他错误,故C++引入命名空间,解决重名和分类的问题。

2、如何使用命名空间

    命名空间可以在全局作用域或者其它作用域内部定义,但是不能在函数或者类的内部定义。
    标准C++库中的所有组件都是在一个被称为std的名字空间中声明和定义的
    它可以这样访问:
std::cin>>i;   //显式的从std中使用cin  其中::是作用于解析符。

    又或者可以使用using声明:
   
using std::cin

int main()
{
    int i;
    cin>>i;
}
    但是,上述两种方法都太过繁琐,在 采用标准C++的平台上使用标准C++库中的组件,只要写一个using指示符: 
using namespace std;

int main()
{
    int i;
    cin>>i;
    cout<<i;
}  //所有存在命名空间std里的库函数都可以直接访问到
除了系统的std,我们还可以自己定义命名空间
namespace name1
{
    int a=0
}  //命名空间name1里有一个变量a

namespace name2
{
    int a=1;
}  //命名空间name2里有一个变量a

name1::a=6;
name2::a=7;  
//因为两个a处于不同的命名空间,所以访问时不发生冲突
实际开发中若有必要,我们也可以自己定义命名空间。

以上是我对命名空间学习后的心得,与大家分享~

    
    

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值