1、#ifndef宏命名
一般只有已经广泛使用的系统库函数和宏才有资格使用_甚至__打头,为的是不与用户定义的名字冲突,所以B.Stroustup在《The C++ Programming Language》中告诫我们一般不要使用_或__打头的标志符,这也是一个编程风格的问题吧。
//建议用这种
#ifndef HEAD_H
#define HEAD_H
……(头文件内容)
#endif
//不建议用这种_或__开头的,Linux内核代码中有好多这样的
#ifndef _HEAD_H_
#define _HEAD_H_
……(头文件内容)
#endif
参考:
https://blog.csdn.net/chuckfql/article/details/81153500