头文件是否带.h的区别

回到开头的那个问题,#include<iostream>之后,是不能直接调用里面的函数的,因为<iostream>这个头文件属于c++标准库的一部分,既cin这个函数属于标准库的一个函数,如上文所述,它的用法是在函数名字放在了命名空间std中,你得用std::cin来说明一下这里的cin是来自命名空间std里面的,也就是标准库里面的cin函数,而不是别的库的cin函数。这是C++的用法,不要与C混淆。

总结概括:库的爆炸性的发展导致经常出现命名重复,从而提出了命名空间的概念,有效地说明同个名称的函数到底来自哪个库,但这导致过去几年所开发出来的代码可能不能使用,从而C++委员会对应旧版头文件重新开发了新版的头文件,命名方式相同,但不添加后缀.h。委员会对待C语言头文件的方式类似,重新开发了一套头文件,命名方式是在头文件开头加上字母c,并去掉后缀.h.

新版C++对待旧版C++和旧版C语言的方式差别在于,明确提出不再支持C++头文件.h的使用,但任然支持C语言头文件.h的使用。这也是为什么现在的C++代码有的使用了.h,(调用了旧版C语言头文件),也可能不加.h(使用新版头文件)。

#include <>用于包含标准库头文件,路径在安装软件的include文件夹下;#include ""用于包含用户自定义的,路径是在用户当前目录下(或自建工程目录下)。

posted @ 2018-08-13 19:49  neo3301  阅读(40)  评论(0编辑  收藏  举报