选择C ++模板以基于运行时变量进行调用

时间:2019-03-25 13:37:58

标签: c++ templates

我有一个C ++代码,看起来像这样:

void SaveDataInTxt(DataFormat fmt, const char *data, size_t size) {
    switch (fmt.bit_width) {
    case 8: return SaveDataInTxtImpl<int8_t>(data, size);
    case 16: return SaveDataInTxtImpl<int16_t>(data, size);
    case 32: return SaveDataInTxtImpl<int32_t>(data, size);
    }
}

奇怪的是,还有什么更好的方法可以摆脱此switch case语句,并将SaveDataInTxtImpl()的主体直接放在SaveDataInTxt()内部。

谢谢!

0 个答案:

没有答案