# Y(, , , ... ) \
, ##>* () {\
, ##>* =\
新增功能
, ##>();\
;\
}
# 或(, 键, ...) \
{
## (g_##)(\
键, (), );\
}
它是将键(op)的类名注册到()的函数生成中。
// 键是名称,是类
# (, 键, ...) \
(,#key,)
它主要负责将继承的子类注册到 () 指定的类中。
.h:
std::map* y() 获取一个全局唯一的映射,其中键表示类型md5注册机,值注册到所有此类型。其中
,
常量
*> ;
埃托 {
eator(int 类型,在函子上) {
如果 (y)->计数(类型)) {
(“ 类型 ”,
类型
“ 两次函数 = ”,
函数);
}
y()->(类型, func());
}
};
具体职责是将不同类型的设备插入到映射中,其中 on 是我们之前声明的函数。
具体来说,这是通过以下方式实现的。
# (类型、缩写)\
{\
埃托 (\
)(类型、类型);\
}
例如:
(
,
,
常量
*);
当前生成 ()== () 的注册类md5注册机,注册的类是,以下参数是 、*。
# R(名称, ...) \
空 ##name();\
无效 PU##name() {\
##name();\
}\
(,姓名, )
它是将从名称名称继承的 Op 注册到此类。
例如
R(, );注册名称是通过注册到 () 生成的,该类位于 ()。然后按以下方式将其注册到 y 的映射中。
(
,
,
常量
*);
(::kCPUmd5注册机, );
这样,OP 可以简单地通过 * = y()->at();
自动操作 = ->(, 定义, ws); 生成,其中 ='' 很好。
版权保护: 本文由 8BDU软件分享博客-8BDU软件园 原创,转载请保留链接: /zhuceji/3533.html