头文件の乱想

记得从最开始的时候,谭浩强老师的书上的开始就是:

#include <stdio.h>  --->standard IO  标准输入输出

我已经忘记了当时老师是怎么介绍这个头文件的了,但是过了好久我才知道了头文件的全称,才知道了standard IO 

接下来再接触到的是:

#include <math.h>  #include<string.h>  

对于这些头话见名知意,话说前面的其实也是只是我自己没理解到,再接下来我有认识到的头文件是:

#include <stdlib>  --->standard Library 标准库

对于这个文件,最开始的接触是因为用到了qsort,当自己知道原来库函数提供了现成的排序函数的时候甚是兴奋,然后直接调用了,接着就是提示错误,然后才知道要导入这个头文件

在看了一些程序的命名之后,回过头来再看这些头文件的命名,突然觉得这些命名是如此的贴切

C还没学好的时候就开始不满足于C了,然后就兴冲冲的开始去了解C++,因为C++和C很像,虽然不好意思说,但是一开始的时候完全是觉得cout,cin之类函数对于C中的printf,scanf之类的来说实在是方便,用着才会知道原来两者之间的方便也是相对的,不过这是后话

然后开始导入C++的头文件

#include <iostream>   --->IO stream

using namespace std;  --->namespace std

刚开始导入的时候,对于iostream这个头文件相当的熟悉呢,大概是因为一下子就能想到IO之类的

然而对于第二行的命名空间,刚开始的时候只是知道命名空间这个概念而已,并没有去了解太多的,接下来又遇到的是各种各样的容器:

#include <vector>  #include<queue>  #include <stack>  #include <map>  ……

对于各种容器的应用,相当的方便,因为导入之后就可以用:

container<class> var 

对于这种形式的声明,我仅仅是使用而已,然后开始看相对应的书籍,从中知道了容器,迭代器,模板等概念

然后开始用容器的时候,又遇到了老相识了,排序函数sort,这次的sort排序函数是在头文件

#include <algorithm>

对于这个头文件,可以知道是关于算法的头文件,那么存放的是相对应的算法,当然,当时还没看过C++ Primer,还不知道STL

这之后,看过一些代码之后,自然会对代码中的命名又有所感受,开始去了解一些名字

不同的头文件件之后又引入的别的问题

1.不同头文件之间的变量,函数的共享

2.不同头文件内的同名的变量,函数的问题

从我所了解的内容说起:

对于不同的文件中共享变量的话,可以用关键字extern来表示,static来限制变量仅限于本文件

对于不同的头文件内的变量同名的问题,C貌似是没有办法规避的,对于C++而言则会引入命名空间的概念

从这里我开始了解命名空间的概念,这里从我经常写的开始

using namespace std

对于这个命名空间 std,当然在引入头文件的时候可以不引入命名空间的,但是还是会在下面写,主要是为了方面

=  =  =  =  =  =  =  =  =  =  =  =  =  pause  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =

原文地址:https://www.cnblogs.com/yoru/p/4263238.html