C/C++ 头文件的宏定义

头文件的预处理信息中,有的会在文件名前后加两个下划线,有的不加,有的会把.h转化为_h,有的不转化,有的会把小写转化成大写,有的不转化?有没有规则?

#ifndef __FILEC_H__

#ifndef _TEST_H

#ifndef __FILEC_H__

#ifndef GRAPHICS_H

希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html

这个没有绝对的规则,只是方便阅读、理解和统一,一般会有一些公司级和团队级的编码规范要求

好像没有吧

宏定义只是避免重复定义,具体这个宏代表什么,是要看你在宏定义内做了什么事情,这个是有你自己控制的,没有说宏叫__FILEC_H,那么就必须对应_fileC.h或者fileC.h,你叫abbcde.h都行啊

使用本文介绍的#ifndef、#define、#endif宏定义组合,就可以很好的避免此问题,修改后的fileC.h代码如下:  

#ifndef __FILEC_H__

#define __FILEC_H__

#include <iostream>   using namespace std;  

int nTest = 1;  

#endif  

 

第一句#ifndef __FILEC_H__ 是指没有哪个文件

这个宏的意图是为了避免头文件被重复包含,只要这个宏的名字不重复就行,所以一般都会使用一个和文件名相关的宏来做这个事情

建议可以使用#pragma once来避免头文件被重复包含,这个定义现在主流编译器基本都支持了