关于将快活密码与多形态密码相接的建议?
作者: Brian-at-Baebies创建于 2026年4月29日更新于 2026年4月29日
这可能是一个新手的问题…但是: 我有一个多态类结构如下: class Base { public: virtual void write_json(<Writer-type??>) = 0; }; class Derived1 : public Base { public: void write_json(<Writer-type??>) { ... } }; class Derived2 : public Base { public: void write_json(<Writer-type??>) { ... } }; 我的类根本不关心传入的 Writer 的具体细节,但由于 rapidjson 严重依赖 CRTP,我要么必须用完全专化的 `Writer` 对象来声明该函数(并限制调用者只能使用该 Writer 的专化版本),要么就要模板化 `write_json` 方法,从而失去了我的类的多态性。 有没有推荐的方法来将 CRTP 代码和动态多态代码结合在一起?
内容来源: Tencent/rapidjson