[C / C ] 只有预处理 – 预处理器指令

打开这篇文章, 我会告诉你的照片,你花费约 1 几分钟阅读下面的程序, 仔细考虑承认差异…

我爱你

内容
1. #确定
2. 操作者 # 和 ##

现在,你知道的差别并不 ??? 最初,当这张照片取出来的人只注意它的内容 (什么爱什么@@) 或者,而不是抓就是他的TEO从写 “此” 拼写错误 (正确的是 “爱”) =)). 我们希望你不喜欢你, 但是如果可以的话, 重要的是要认识到的差异确实 (不属于任何上述的)? 如果能够实现的话,那是非常好的, 即使它没有被识别,请注意, … 程序而不主要功能.

首先,我会谈谈的#define

一个简单的排序,它是用来定义常量. 例如,你可以:

#define x 100;
#define s "nguyenvanquan7826"

当程序运行时, 这条线将在整个程序首先进行处理,并将其值将由定义的值来替换,并且不能被改变. 在本实施例中,x是的值 100, s的值是一个字符串 “nguyenvanquan7826”.

我们也可以利用它来定义目标函数. 例如定义之间寻找最大价值 2 号码.

#define getmax(a,b) a>b?a:b

观察程序运行, 它完全符合.

/*
C/C++ program - code by nguyenvanquan7826
Home
*/ #include <iostream> #define getmax(a,b) a>b?a:b using namespace std; int main() { int m = getmax(5, 7); cout << m << endl; return 0; }


操作者 # 和运营商 ##

数学考试 # 当用于替代功能由功能串的参数定义.

#define str(x) #x
cout << str(nguyenvanquan7826);

等同于命令

cout << "nguyenvanquan7826";

操作者 ## 将连接 2 不留他们之间的差距说法.

define glue(a,b) a ## b
glue(c,out) << "nguyenvanquan7826";

等同于命令

cout << "nguyenvanquan7826";

现在你尝试脱机解释初始阶段计划.

参考文章: cplusplus.com