C++ 命名空间

一、命名空间的基本理解


命名空间的使用就是为了起到代码端拥有自己的作用域,有了不同的命名空间就有了不同的作用域,也就可以定义相同的变量,
避免了变量重复定义使用的语法错误。实例代码如下所示:

#include <iostream>
namespace  A
{
    int a;
    int b;
}

namespace  B
{
    int a;
    int b;
}

int main()
{
    A::a = 10;
    B::a = 11;
    A::b = 12;
    B::b = 13;

    std::cout<< "A::a = "<< A::a<<std::endl;
    std::cout<< "A::b = "<< A::b<<std::endl;
    std::cout<< "B::a = "<< B::a<<std::endl;
    std::cout<< "B::b = "<< B::b<<std::endl;

    return 0;
}

运行结果:

A::a = 10
A::b = 12
B::a = 11
B::b = 13

二、引入命名空间


① 引入命名空间在所有变量

如果引入了某个命名空间,那么使用它的变量就不需要再写命名空间::变量了,
直接写其变量即可。如下图所示:

在这里插入图片描述


② 引入命名空间中指定的变量

但我们只需要使用某个命名空间中的几个变量,那么不需要把整个命名空间引进来,避免变多污染命名空间的环境。指定变量引入如下图所示

在这里插入图片描述


③ 当两个空间中有相同的变量名时,需要注意

当引入的不同命名空间中,有相同的变量时,不能直接写变量名字对其使用,
会报二义性,需要空间名字::变量名的方式使用变量,如下图所示:

在这里插入图片描述

三、全局作用域

① 全局作用域的名字空间是匿名的,直接用::引用即可
② 命名空间的本质就是作用域,小作用域覆盖大作用域。同一等级的作用域不能冲突!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值