c++的自动注册

构 注册位置{
    用 BB=无映针<串,动作基>;单 BB 工;
};
元<类 T>构 自注:公 注册位置{
    静 极 注册(){中 BB::注一<T>();}
    单 极 呀=注册();
};

为啥用注册(),这是延迟实现,避免T还未构建.否则直接用BB::注一<T>();就行了.
上面是核心,至于注册实现,可以自己选择实现,这里用的是注一接口.
我们的自动注册,用的是来注册,

#define 静表示(S) \
    静 串 表示(){呀;中 S;}

要求,每个动作基的子类都有静的表示方法,这里面有个呀;自动注册.避免了每次的手写.只需要手写一个S就行了.如下为一个子类示例:

构 仅三空:公 动作基,公 自注<仅三空>{//加上自注
    极 要要(串&行){//动作基必须实现的虚函数
        静 串分 d;d.切换(行,' ');
        中(d.临.大小()==3);
        //实现,可完成你需要的各种任务.
    }
    静表示("仅三空");//这里注册
};

使用类中这样:

类 过滤行:文件名行处理,公 注册位置{
    ...
};

通过这里的注册位置,就可以通过外部串访问注册中心,达到根据命令行需求而变,而完成不同的动作的效果!
下一篇加强版

posted @   zjh6  阅读(32)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示