c++ 宏定义 define # 与 ## 的作用

前言:

在看一些源码中 他们的宏定义 出现了 下面的 # 与 ##

在这里插入图片描述

我看不懂 就了解了一下 宏定义 中 # 与 ## 的作用

在这里插入图片描述

我定义了一个 宏

调用 qdebug 输出一下 这个变量的值

**加粗样式**
我相信这个大家都能看懂 我稍微改一下

‘#’

在这里插入图片描述

在 前面加个 # 咱们来输出一下

在这里插入图片描述

区别出来了 #param

加上 # 其实就相当于

在这里插入图片描述

把 参数的名字 写进去 变成字符串

这个可以看懂吧 在看下加两个 ##

‘##’

在这里插入图片描述
报错了 在这里插入图片描述

看来语法不对 我在试一试 下面这个
在这里插入图片描述

在后面 写了一个 TT
在这里插入图片描述

看 他说 没有找到 TTx 的定义

说明 他把 TT##x 拼接成一个了

我们尝试行 定义个 TTx 变量 试一试

在这里插入图片描述
在这里插入图片描述

运行 成功了 原来## 就是起一个连接作用。。。。

在这里插入图片描述

比如 我们 传入 TEST2(A,B) 那么就是qDebug()<<AB;
在这里插入图片描述

ok 了 到此结束 大家都看懂了吧

发布了194 篇原创文章 · 获赞 443 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/weixin_42837024/article/details/105370658