c++ - 根据运行时变量选择要调用的 C++ 模板
问题描述
我有一个 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() 中。
谢谢!
解决方案
推荐阅读
- highcharts - Highstock:我如何沿线显示系列名称
- java - 我想添加一种方法来存储游戏之间获得的积分(Java)
- php - 多个 SELECT 查询上的 PDO/mysqli 内存泄漏
- javascript - querySelectorAll 和 .not()
- python - 如何使用列表中的函数获取最小奇数
- php - 使用数组条目值作为键的更智能方法
- java - 当我在 docker 中启动 helloWorld.java 时出错
- python - 编码挑战字符串方法 Python
- arrays - 蜂巢poseexplode地图数据类型
- html - 背景颜色不会改变 CSS 样式表