C++中using namespace std 命名空间的理解

在C++中,变量和函数的作用范围是有一定限制的,比如在函数体中定义的临时变量就不可以在函数体外使用。为了解决变量和函数的作用范围,C++引入了命名空间的概念;增加了关键字 namespace 和 using,std 就是标准程序库所在命名空间(namespace)的名称,using namespace std就是使用标准库的意思。

在一个namespace中可以定义一组变量函数,这些变量和函数的作用范围一致,可以将这些变量和函数称为这个namespace的成员

通过namespace,可以在同一个文件中使用相同的变量名或函数名,只要它们属于不同的命名空间。另外,命名空间可以使得代码操作具有相同名字但属于不同库的变量。而且,名空间也可以提高C语言与C++语言的兼容性。

利用using声明可以在引用名空间成员时不必使用名空间限定符::。例如使用C++标准程序库的任何标识符时,可以有三种选择:

  1. 直接指定标识符。例如std::cout << std::hex << 3.4 << std::endl;
  2. 使用using 关键字。例如using std::cout << std::hex << 36.1 <<using std::endl;
  3. 直接使用。cout << std::hex << 3.4 << endl;

声明namespace之后,C++的头文件也发生了变化。<iostream ><iostream.h>是不一样,前者没有后缀,两者里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些C++的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里。之后C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因 此,当使用<iostream.h>时,相当于在C中调用库函数,使用的是全局命名空间,也就是早期的C++实现;当使 用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值