C++的后缀为.h的头文件举例分析

这篇文章主要讲解了“C++的后缀为.h的头文件举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++的后缀为.h的头文件举例分析”吧!

后缀为.h的头文件C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。

因此,当使用时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

一般一个C++代码的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。  

问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如楼主提到的strcmp。  
这个头文件跟C++的string类半点关系也没有,所以并非的“升级版本”,他们是毫无关系的两个头文件。

要达到楼主的目的,比如同时:

void func(){   using namespace alex;//using指令   using chris::love;//uisng声明   love();//chirs::love();   alex::love();//必须这么使用   }

因为标准库非常的庞大,所程序员在选择的类的名称或函数名时就很有可能和标准库中的某个名字相同。所以为了避免这种情况所造成的名字冲突,就把标准库中的一切都被放在名字空间std中。但这又会带来了一个新问题。无数原有的C++代码都依赖于使用了多年的伪标准库中的功能,他们都是在全局空间下的。 

所以就有了等等这样的头文件,一个是为了兼容以前的C++代码,一个是为了支持新的标准。 C++标准库中所有的标志府都被定义在一个名字空间std中,iostream也是标准库中的头文件,你查看一下include目录,会发现又两个头文件iostream.h和iostream,其中iostream.h是C++以前的库,iostream是在名字空间std中的库,所以当你包含头文件并想使用头文件中的标志符的时候有两种方法。

感谢各位的阅读,以上就是“C++的后缀为.h的头文件举例分析”的内容了,经过本文的学习后,相信大家对C++的后缀为.h的头文件举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/237521.html

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

相关推荐

发表回复

登录后才能评论