C++预处理命令自习

本文主要用于学习各种 C++ 预处理命令,包括头文件保护符(目前只写了这个)。

头文件保护符

#if

语法:

1
2
3
4
5
6
7
8
9
#if 整型常量表达式1
程序段1
#elif 整型常量表达式2 // elif 可以省略
程序段2
#elif 整型常量表达式3
程序段3
#else
程序段3
#endif

其功能与普通的 ifelse ifelse 功能类似,但也有区别。

if 一样, #elif#else 可以省去。

区别是 #if 只能判断“整形常量表达式”,也就是说表达式中只能有常量,且结果必须为常数。

另一区别是 #if 必须和 #endif 组合使用, #endif 表示结束判断。

#ifdef

语法:

1
2
3
4
5
#ifdef 宏名
程序段1
#else
程序段2
#endif

如果宏被定义了,则执行程序段1,否则执行程序段2。

#ifndef

#ifdef 类似,只是判断条件相反,即宏未被定义则执行程序段1。

参考: