C++复习第四天 命名空间

/********************命名空间的嵌套**************************/
#include <iostream>
namespace space1
{
    int a(10);
    char *str("gogogo");
    namespace space2   //命名空间的嵌套
    {
        int a(9);
    }
}
namespace space1  //命名空间的拓展
{
    int  y(5);
    //int  a(15);重定义错误
}
namespace space1_rename= space1;//给命名空间起一个别名


int main()
{
    std::cout << space1_rename::space2::a << std::endl;//命名空间可以嵌套
    std::cout << space1_rename::y << std::endl;
    std::cout << space1_rename::a << std::endl;
    return 0;
}

//using namespace space1_rename;
void main11()
{
    //std::cout << space1_rename::a <<space1_rename::str<< std::endl;
    //std::cout << a << stspace_rename<< std::endl;

}

/********************using作用域**************************/
#include<iostream>
#include<stdlib.h>
namespace mydata
{
    int a(6);
}
namespace yourdata
{
    int a(8);
}
using namespace mydata;//using必须在命名空间的后面,作用域:从这个地方打开命名空间
using namespace yourdata;
//using如果变量重名,会出现不明确错误,加上命名空间修饰符
void go()
{
    //using namespace mydata;
    //命名空间如果在块语句内容,作用域是定义开始到块语句结束
    //using如果变量重名,会出现不明确错误,加上命名空间修饰符
    std::cout << mydata::a << std::endl;
}


//using namespace mydata;//作用域为从代码开始到结束
int main()
{
    //std::cout << mydata::a << std::endl;
    std::cout <<yourdata::a << std::endl;

    system("pause");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值