#ifndef

#ifndef都是一种宏定义判断,作用是防止多重定义。

#ifndef是if not define的简写。

一般的使用场景为: 1)、头文件中使用,防止头文件被多重调用2)、作为测试使用,省去注释代码的麻烦3)、作为不同角色或者场景的判断使用。

头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。

还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。
#ifndef一般格式是这样的:

#ifndef <标识>

#define <标识>

#endif

<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h

#ifndef STDIO_H

#define STDIO_H


#endif

你可能感兴趣的:(c++编程基础)