社区
C++ 语言
帖子详情
#是什么意思? ##是什么意思?
iflytekxglu
2007-09-13 08:45:06
#define DEFINE_SHMOD(mod) struct module_of_##mod { \
\
static const char* getmod() { \
return #mod; }}
上面那是什么意思啊?
...全文
228
5
打赏
收藏
#是什么意思? ##是什么意思?
#define DEFINE_SHMOD(mod) struct module_of_##mod { \ \ static const char* getmod() { \ return #mod;}} 上面那是什么意思啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iflytekxglu
2007-09-13
打赏
举报
回复
非常感谢
xiaciping
2007-09-13
打赏
举报
回复
ls正解.
roadtang
2007-09-13
打赏
举报
回复
别喊搞手啦, 其实都不是很难的问题喔
1,
# 是宏处理的 字符串转换符
#define STRING(exp) #exp
那么 STRING(okokokok)就相当于 "okokokok"
2,
## 是标识符拼接符
#define FULL_IDENT(ident) sys_global_##ident
FULL_IDENT(cache) 就等于 sys_global_cache
注意一点
如果
#define FULL_IDENT(ident) sys_global_ident
FULL_IDENT(cache) 就等于 sys_global_ident 应该不是你想要的.
用你的例子
#define DEFINE_SHMOD(mod) struct module_of_##mod { \
\
static const char* getmod() { \
return #mod; }}
这样使用
DEFINE_SHMODE(dxrender)
相当于
struct module_of_dxrender {
static const char * getmod() {
return "dxrender";
}
}
iflytekxglu
2007-09-13
打赏
举报
回复
高手呢
iflytekxglu
2007-09-13
打赏
举报
回复
自己顶
c 宏 中 # ## @ 分别表示
什么意思
本文详细解释了C语言宏定义中的#(字符串化操作符)和##(连接符)的作用及用法示例,并澄清了@符号在标准C/C++宏定义中并无特殊含义。
宏替换中的#和##的意思
本文通过几个具体的示例讲解了C语言中预处理宏的工作原理,特别是宏替换中的#号和##的作用,前者用于参数字符串化,后者用于参数拼接。通过实际代码展示了这些宏如何在编译预处理阶段被展开。
linux 在开发中的作用是
什么意思
,linux中#和##用法
本文详细介绍了Linux内核中的预处理指令##的作用及其应用场景,包括如何使用它进行字符串拼接和参数替换,并通过示例代码展示了其工作原理。
##(两个井号)和#(一个井号)都是
什么意思
本文详细解析了C语言预处理指令中的连接符##与#的作用及使用方法,并通过实例展示了如何利用这两个指令来实现字符串拼接及宏定义。
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章