您的位置:首页 > 编程语言 > C语言/C++

c/c++ #define中#和##运算符的使用

2017-09-03 21:11 232 查看

1.在#define中使用参数

  函数调用和宏调用之间的重要差异,程序运行时,函数调用把参数的值传递给函数。而编译前,宏调用把参数的语言符号传递给程序。

2.#运算符:利用宏参数创建字符串

  如果x是一个宏参数,那么#x可以把参数名转换为相应的字符串,该过程称为字符串化。

#include <stdio.h>

#define POUT(x) printf("---" #x "---\n")

int main()
{
POUT(Test_Define_# .);
return 0;
}


---Test_Define_# .---


3.##运算符:预处理器的粘合剂

  这个运算符把两个语言符号组合成单个语言符合。

#include <iostream>

#define INT(x) nTmp##x

int main()
{
int INT(1) = 0;
std::cout<<INT(1)<<std::endl;
return 0;
}


0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: