C标准库喝C++标准库区别
C标准库里得头文件一般都是.h扩展名,C++没有扩展名。
<>适用用于编译器得#include
“”适用用于所的情况,如果是自己编辑的头文件需要使用“”,编译器的使用“”路径也可以
头文件中常常包含的内容:
- 原型函数
- 使用#define或const定义的符号常量
- 结构声明
- 类声明
- 模板声明
- ineline function
在同一个文件中只能将同一个头文件包含一次。为了防止这种情况发生使用防护(guarding)方案,使用如下
#ifndef COORDIN_H_//if not defined
#define COORDIN_H_//检查这个符号是否存在
....
#endif
表示
- 如果在以前的代码段中没有使用预处理器编译指令#define定义名称COORDIN_H_时,才会处理#ifndef和#endif之间的渔业局
- 如果在同一个文件中遇到其他包含coordin.h的代码,编译器将知道COORDIN_H_已经被定义了,从而跳到#endif后面的一行上了。
- PS:这种方法并不能防止编译器将文件包含两次
类似方法使用#pragma once,只是防止include到一个翻译单元里,也就是一个单独的cpp文件,并不是整个解决方案
#pragma once
...
struct test();
可以在头文件中建立一个空的struct,这样在重复包括的时候,程序会报警说,使用了相同的strcut的