关于namespace

1、 新的名称空间特性
通过定义一种新的声明区域来创建命名的名称空间。
名称空间可以是全局的,也可以位于另一个名称空间中,但不能位于代码块中,
任何名称空间中的名称都不会与其他名称空间中的名称发生冲突。
名称空间是开放的(open),即可以把名称加入到已有的名称空间中。

访问给定名称空间中的名称,通过作用域运算符:: 使用名称空间来限定该名称
Jack::Pail =12.34;

2、 using声明和using编译指令
using声明使特定的标识符可用;
using声明由被限定的名称和它前面的关键字using组成
例如:using Jill::fetch;
Using声明将特定的名称添加到它所属的声明区域中
例如:main()中的using声明using jill::fetch将fetch添加到main()定义的声明区域中。完成该声明后,便可以使用名称fetch代替Jill::fetch
#include
using namespace std;

namespace Jill
{
double bucket(double n){}
double fetch;
struct Hill{};
}
char fetch;

int main()
{
using Jill::fetch; //using声明
//double fetch; /invalid fetch重定义
//此处的fetch 覆盖了同名的全局变量 char fetch;
cin >> fetch; //输入的值传入到using Jill 中的fetch
cin >> ::fetch; //输入的值传入到全局定义变量char fetch中

system("pause");
return 1;

}
/*
由于using声明将名称添加到局部声明区域中,因此这个示例避免了将另一个局部变量也命名为fetch。
另外,和其他局部变量一样,fetch也将覆盖同名的全局变量。
*/
using编译指令使整个名称空间可用;

using 编译指令由名称空间和它前面的关键字using namespace组成,它使名称空间中的所有名称都可用,而不需要使用作用域解析运算符。

在全局声明区域中使用using编译指令,将使该名称空间的名称全局可用。
例如:
#include
using namespace std; //将名字放在全局名称空间中
。。。。。。

在函数中使用using编译指令,将使其中的名称在该函数中可用。
例如:
Int main()
{
Using namespace jack; //jack命名空间在函数main中可以使用
}

Demo1:
#include
Int main()
{
Using namespace std;
}
首先,#include语句将头文件iostream放到名称空间std中。然后,using编译指令是该名称空间在main()函数中可用。

Demo2:
#include
Using namespace std;
Int main()
{
……
}
这将名称空间std中的所有内容导出到全局名称空间中
同时如果系统不支持名称空间,可以将前两行替换为:
#include<iostream.h>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值