必威体育Betway必威体育官网
当前位置:首页 > IT技术

命名空间(解决了为什么使用using namespace std;的疑惑)

时间:2019-10-13 02:15:10来源:IT技术作者:seo实验室小编阅读:75次「手机版」
 

using namespace

命名空间是用来组织和重用代码的编译单元。NameSpace(名字空间),是为了解决命名冲突的问题而引入的概念。通过使用 namespace xxx(就是xxx使用的范围),你所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。C++标准程序库中的所有标识符都被定义于一个名为std(standard)的namespace中。

一 :<iOStream>和<iostream.h>格式不一样,前者没有后缀。两者是两个不同的文件。后缀为.h的头文件c++标准已经明确提出不支持了。因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

二: 由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:

1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下: std::cout << std::hex << 3.4 << std::endl;

2、使用using关键字。 using std::cout; using std::endl; using std::cin; 以上程序可以写成 cout << std::hex << 3.4 << endl;

3、最方便的就是使用using namespace std; 这样命名空间std内定义的所有标识符都有效(曝光)。但这又会带来了一个新问题。无数原有的C++代码都依赖于使用了多年的伪标准库中的功能,他们都是在全局空间下的。所以就有了<iostream.h>和<iostream>等等这样的头文件,一个是为了兼容以前的C++代码,一个是为了支持新的标准。命名空间std封装的是标准程序库的名称,标准程序库为了和以前的头文件区别,一般不加".h"

相关阅读

JSP开发之JSP 标准标签库(JSTL)之格式化标签formatNumbe

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下: <%@ taglib prefix="fmt" ur

使用css画等腰直角三角形

使用css画个等腰直角三角形: 可以使用border来进行绘制,具体见注释 <!DOCTYPE html> <html lang="en"> <head> <meta charset=

HAP框架学习之——LOV使用

LOV的作用:通过自定义SQL语句或者调用mapper中的方法查询数据库,通过弹出窗口的形式提供数据选择的组件。 例子:查询学生表,通过输入

88会员折扣卡几点领取?使用规则是什么?

阿里巴巴集团宣布每年8月8日将成为会员日,如果大家领取了88会员折扣卡的话,这一天购物是可以享受到8点8折的,大家知道88会员折扣卡几

如何正确使用Google Adwords投放海外广告

一、计算广告预算在进行广告投放时,应该大致规划广告预算以及每日的广告预算是多少,获得详细数据后,再根据千次点击的转化率、产品的

分享到:

栏目导航

推荐阅读

热门阅读