1,泛型编程多参数情况的处理
template <class T, typename... Args>
int load_model(T* &member,Args... args) {
member = new T();
auto code = member->load("参数", args...);
if(M_OK != code) {
throw std::string("SDK load error");
} else {
LOGF("load %10s model success.", msg);
}
return code;
}
2,泛型编程多继承
泛型编程
template<class C, class R>
class T {
public:
T():ctx(NULL), result(NULL) { }
virtual ~T() {
if (NULL != ctx) {
your_release(ctx);
}
}
const R * current() const {
return result;
}
protected:
C ctx;
const R *result;
};
class Det: public T<Context, Result> {
public:
Code load(const char *model, int min_face);
Code detect("参数");
protected:
Options options;
};