以下都是废话:
C++11之后,统一使用更优秀的操作:
#pragma once
1.0 首先,这个宏和你的文件名没有关系;
2.0 假设你的代码, 一共2次include同一个文件,
#Include “a.h” // 第一次, 因为A_H没与被定义, 所以包含"内容", 并且定义A_H,
#include “a.h” // 第二次, A_H被上面定义过了, 所以内容被跳过。
为了防止A_H在意外的地方被事先定义过, (比如有一个整数也正好定义成A_H这个名字, 或者另一个文件也定义这个标识符)。
所以A_H这样的标识符, 通常取一些一般不会被重复的名字, 比如说很长的随机字母, 或者干脆就是文件名(因为文件名一般来说不会重复)