我们在c与c++中经常会遇到一种情况就是加 ‘\’ 进行换行来保持代码整体结构一致的使用情况,那么具体来说换行的规则是什么,这里进行一下记录
#include
#include
using namespace std;
#define MYDEF you \
are\
the\
apple \
of my eye\
s\
!
// 以上分别为
// 1 末尾加空格开头不加
// 2 末尾不加空格开头两个制表符
// 3 末尾不加空格开头一个制表符
// 4 末尾加空格开头也加空格
// 5 末尾开头都不加空格
// 6 末尾不加空格开头加空格
int main(){
MYDEF
return 0;
}
我们来看这个代码,由于换行的原因注释就统一写在下面了(逻辑有点不整齐,理解一下),在这个代码中我们用gcc来进行一下预编译 我们来看得到的编译结果
int main(){
you are the apple of my eyes !
return 0;
}
结果就是除了eye和s之间没有空格,所有的部分之间都是一个空格,也就是处理的时候只要中间有空隙都会转化为一个空格,而完全没有空隙就会紧贴在一起。(宏定义的时候经常会用这种形式来模拟函数,到时候在这个基础上进行理解)
还有一点一定要注意,一定一定要注意,一定千万要注意就是使用 ‘\’ 的时候千万千万千万不要加空行,要不然你会盯着代码看一天的!!!
另外vscode里面支持直接显示宏定义使用时候的展开情况,估计好多开发环境里面也都支持,不需要用gcc自己编译了,太麻烦。
|