头文件的预处理信息中,有的会在文件名前后加两个下划线,有的不加,有的会把.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来避免头文件被重复包含,这个定义现在主流编译器基本都支持了