头文件
作用
- 存放函数或类的声明,但不要放它们的实现(可放,但不满足规范)
- 在.cpp文件中放函数或类的实现
- 存放模板和全局性的常量
注释
- 头文件中要写明函数等的注释:用途、用法等
- 要写明修改日期,作者等
使用
#include "headfile.h"
编辑器将到当前子目录以及当前开发环境中的其他逻辑子目录中寻找头文件,
为了消除重名猜测,可以使用绝对路径:
#include "./headfile.h" //当前目录
#include "../headfile.h" //父级目录
#include "path/headfile.h" //相对目录下的path目录
预处理器
- 作用:重复引入头文件会报错,所以要保证工程中每个头文件只引入一次。
- 举例:创建headfile.h文件
#ifndef HEADFILE_H
#define HEADFILE_H
// 函数、类的声明等
#endif
命名空间
作用
- 解决命名重复或难以命名的问题
- 变量名只要在命名空间唯一就即可
- 不同命名空间变量名可以重复
使用
- 在头文件和cpp文件中:
namespace myspace
{
// 在 h 文件中括住所有声明部分
// 在 cpp 文件括住所有实现部分
// #include 与 头文件预处理器 部分不在括号内
}
- 在主文件中:
// using namespace 之后可以直接使用变量名,例如:
using namespace myspace;
int i = 变量名;
// 或者不使用using namespace
int i = myspace::变量名;
注意
- using 指令的出现位置决定其作用域
- 如果在函数内出现,那么只能在这个函数内生效