C++中的头文件主要有哪些?都有啥作用?
在编译时,源文件里的实现会被编译成临时文件,运行时刻程序找到头文件里的接口,根据接口找到这些临时文件,来调用它们这些实现。
之所以在 C++ 中要使用头文件,最主要的原因是 C++ 的同一个项目可能有多个源代码文件,要命的是这些源代码是分别单独编译的。
也就是说,在编译其中一个文件时,编译器并不知道其它文件中定义的内容,如类、全局变量等。
这就要求我们必须在要使用某个类、函数或变量的每个文件中声明它,否则 C++ 是无法找到它的。
很多文件可能都需要使用加法。假设有一个文件 b.cpp 需要使用这个函数,那么,它必须先声明它,虽然不需要再重写。
如果有很多文件都要使用这个函数,那么这会变得麻烦,特别的,如果你写了一个类,那么你需要维护大量的声明(对于每一个 public 对象),并且如果你的类的定义发生了改变,你可能不得不改变无数个声明。
所以,C++ 语言提出了头文件的概念。你只需要在头文件中声明一次,在实现文件中定义一次,在所有需要用的文件中,就只需要引用这个头文件,相当于每个文件都包含了一个声明。
为了防止头文件的重复包含,通常应该使用预处理指令 #define (定义符号)、#ifndef(如果没有定义)、#endif(结束判断)来书写头文件的内容。
参考资料: http://xinklabi.javaeye.com/blog/655564
首先C++引入头文件需要在代码文件的开始处中键入 预处理指令 #include 。
程序的基本编写需要有标准的输入输出作为支持,所以这就要用到 iostream(input/output stream)意思就是 输入输出流,代码如下
#include <iostream>
用法:
int a;
cin>>a;
cout<<a;
给将输入的整数给a赋值,并输入;因为这两个方法是存在于命名空间std下的用的时候还需要在预处理命令后面加入
using namespace std;
另外 iomanip 头文件为I/O流库提供了一些操控符,例如
#include <iomanip>
cout<<setw(5)<<setprecision(3)<<3.1415<<endl;
将会输出 3.14,该函数setprecision的功能就是 设置浮点小数的位数(包含小数点);函数setw(5)则设置了输出的域宽为5个字符。
程序的编写当然还离不开数学的计算,此时就需要 cmath 头文件le,
#include <cmath>
里面有一些常用的函数
double fabs(double x);//求绝对值
double sqrt(double x);//求平方根
//一些三角函数
const double PI=3.14159265358979;
double radian=30*PI/180;//求30角度值的弧度值
sin(radian);//0.5
cos(radian);//0.866025
tan(radian);//0.57735
c的标准类库 cstdlib 中有随机数的函数,在C++中也是适用的,代码
#include <cstdlib>
//随机数函数
void srand(unsigned int seed);//为下面的函数设置种子,不然默认的种子是1,随机数会相同的
int rand();//产生随机数
此外,还有一些其他的C标准头文件库:
#include <cstdio>
#include <ctime>
等等,更多的资料请参阅 http://www.cppreference.com 这里有很多标准的C++函数的原型,头文件和用法。