头文件中的预处理宏

来源:互联网 发布:centos修改ssh端口号 编辑:程序博客网 时间:2024/06/05 06:53

//头文件abc.h

#ifndef _ABC_H

#define _ABC_H

//Program Body

#endif;

它的作用就是防止头文件abc.h中的Program Body部分被程序中的多个文件多次定义,这是C++不允许的,会出现报error:redefinition 错误

 

#ifndef _ABC_H

#define _ABC_H

//Program Body

#endif;

 

就相当于给头文件中的Program Body程序段加上了一个标识符_ABC_H,它是唯一代表abc.h中Program Body程序段的标志。当我们要在多个文件中#include"abc.h"时,第一个使用abc.h的文件会先定义一个标识符为_ABC_H的Program Body程序段,当第二个文件又要定义标识符_ABC_H的那个程序段Program Body时,编译器就会自动识别了,发现标识符_ABC_H的程序段已经定义过了,所以就直接跳过#define,运行#endif了。不再对这个程序段定义了,而直接使用之前第一个文件中定义和编译的结果了。

原创粉丝点击