条件指令
#if,#else,#elif,#ifndef,#ifdef,#endif
#if COND
如果COND为真,则编译到下一个条件指令的语句
否则,直接跳到下一个条件指令的语句
#elif COND
如果前面#if的条件是假,且COND为真,则编译到下一个条件指令的语句
否则,直接跳到下一个条件指令的语句
#else
如果前面#if的条件是假,则编译到下一个条件指令的语句
否则直接跳过
#ifndef SOMETHING
如果未定义SOMETHING,则编译到下一个条件指令的语句
否则,直接跳到下一个条件指令的语句
#ifdef SOMETHING
如果定义了SOMETHING,则编译到下一个条件指令的语句
否则,直接跳到下一个条件指令的语句
#endif
结束最近的条件语句
定义指令
#define
语法一
#define A B
把下文中的A全部替换成B
语法二
#define A\
B\
C\
D
把下文中的A全部替换成
B
C
D
语法三
#define FUNC(EXPR1,EXPR2) EXPR1 operator EXPR2
定义函数
每一个变量尽量打括号
如调用上述函数
假设 operator 是 *
FUNC(1+2,1+2)实际调用 1+2*1+2==5
可是我们想要的是(1+2)*(1+2)==9
所以正确的是
#define FUNC(EXPR1,EXPR2) ((EXPR1)operator(EXPR2))
包含指令
#include<FILE>
#include"FILE"
两个指令不同在于
#include<FILE>包含系统FILE,如cstdio
#include“FILE”先在当前文件包含文件夹搜索FILE,之后才进入系统文件夹搜索
错误与警告指令
#error STH
#warning STH
将STH作为错误或警告内容在编译时显现。
友情链接:https://www.cnblogs.com/miyazakehime/p/9154357.html