菜鸟请教,这段代码是什么语法?
#define IMPLEMENT_DYNCREATE(base_class_name,class_name,class_id_type,class_id) \
XMLRuntimeClass<base_class_name,class_id_type>* class_name::GetRuntimeClass() const { return &class_name::class##class_name; }
哪位大侠能否解释一下,最后的return语句是什么意思?
[解决办法]
#define IMPLEMENT_DYNCREATE(base_class_name,class_name,class_id_type,class_id) \
XMLRuntimeClass<base_class_name,class_id_type>* class_name::GetRuntimeClass() const { return &class_name::class##class_name; }
就是一个宏定义,不要裂解得太复杂了
IMPLEMENT_DYNCREATE(CParent, CChild, DWORD, ID_CLASS) ===>
XMLRuntimeClass<CParent,DWORD>* CChilde::GetRuntimeClass() const
{
return &CChild::classCChild;
}
[解决办法]
## 表示连接
比如 #define X(a, b) a##b
然后 X(1, 2) 就得到 12, X(abc, 3) 就得到 abc3
如果没有 ## 的话 #define X(a, b) ab 无论什么 X(1, 2) 或什么结果都是 ab