嘘~ 正在从服务器偷取页面 . . .

C++语法 #define 预处理


C++语法 #define 预处理

#define 预处理指令用于创建符号常量。

该符号常量通常称为,指令的一般形式是:

#define macro-name replacement-text 

基础用法包括但不限于

#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
#define ls(at) ((at) << 1)
#define sq(x) ((x) * (x))
// #define int long long 相当于把文件中的所有 int 都替换成 long long

高级一些的用法是利用 ### 运算符

#define TOSTR(x) #x
// TOSTR(q779 is sb) 等价于 "q779 is sb"

#define For(i, a, b) for(int i = (a), i##END = (b); i <= i##END; i++)
// 一个从 a 到 b 的 for 循环

实例:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
void up(int &x,int y) { x < y ? x = y : 0; }
void down(int &x,int y) { x > y ? x = y : 0; }
#define N ((int)(3))

#define TOSTR(x) #x
#define For(i, a, b) for(int i = (a), i##END = (b); i <= i##END; i++)
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	// freopen("check.in","r",stdin);
	// freopen("check.out","w",stdout);
	For(i, 1, 5) cout << TOSTR(Good Morning My Neighbors!) << '\n';
	return 0;
}

输出:

Good Morning My Neighbors!
Good Morning My Neighbors!
Good Morning My Neighbors!
Good Morning My Neighbors!
Good Morning My Neighbors!

参考文献

[1] https://www.runoob.com/cplusplus/cpp-preprocessor.html


文章作者: q779
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 q779 !
评论
  目录