C++ 命名空间

命名空间 namespace

什么是命名空间
按照一定的逻辑标准 把具有共同特点的数据组织到一起。

命名空间作用

  1. 便于划分模块

  2. 防止命名冲突

命名空间构成

namespace 空间名
{
/* 变量定义
函数声明
函数定义
类型定义 */
}

namespace  ABC{
    int  age=50;
    double salary = 8500 ;
    void  show()
    {
        cout << "this is ABC age is "<< age <<  endl;
    }
}

如何使用命名空间

在空间的数据名前 加命名空间名::

ABC::show();
ABC::age=51;

使用using 声明的方式
using 空间名::数据名;

 using ABC::show();
 using ABC::age=51; 

引入冲突之后 使用第一种解决

使用using namespace 指令
using namespace 空间名;

using namespace ABC;

如果冲突回到第一种解决

命名空间嵌套
namespace 空间名1
{

      namespace  空间名2
      {

      }
}
namespace ns1{
    int  var_x=1;
    namespace ns2
    {
        int var_x=2;
        void  testvar()
        {
            cout << var_x << endl;
        }
        namespace ns3
        {
            void test()
            {
                cout << "this is ns3" << endl;
            }
        }
    }
}

命名空间重命名
namespace 空间名=空间名1::空间名2;

using ns1::ns2::ns3::test;
namespace ns4=ns1::ns2::ns3;

无名命名空间
如果一个数据 没有出现在任何一个命名空间中,则这个数据会放入无名命名空间中。
::数据名;

#include <iostream>
using namespace std;
int  num=100;
namespace 
{
    double  salary=345.88;
}
int main()
{
    cout << num<< endl;
    cout << ::num << endl;
    cout << ::salary << endl;
    cout << salary << endl;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值