首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

#是什么意思? #是什么意思?解决方案

2012-02-08 
#是什么意思? ##是什么意思?#defineDEFINE_SHMOD(mod)structmodule_of_##mod{\\staticconstchar*getmod(){

#是什么意思? ##是什么意思?
#define   DEFINE_SHMOD(mod)struct   module_of_##mod   {\
\
static   const   char*   getmod()   {\
return   #mod;}}

上面那是什么意思啊?

[解决办法]
别喊搞手啦, 其实都不是很难的问题喔
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 ";
}
}


[解决办法]
ls正解.

热点排行