Ube*_*per 1 c++ templates types
我有一个模板化的类,具有以下定义:
ImageRescaleDepth<PIXEL_TYPE_INPUT, PIXEL_TYPE_OUTPUT>
Run Code Online (Sandbox Code Playgroud)
这个类使用模板,因为它应该是通用的几乎所有东西.无论如何我需要制作这个应用程序的命令行版本,进行图像重新缩放,目前系统设置为处理以下类型:
1BIT, 2BIT, 4BIT, unsigned 8 bit, signed 8 bit, unsigned 16 bit, signed 16 bit, unsigned 32 bit, signed 32 bit, float, double.
Run Code Online (Sandbox Code Playgroud)
这些是通过命令行传递的,我将它们转换为枚举.
我无法修改ImageRescaleDepth类,因为它是库的一部分.我并不想创造一个巨大的开关或eliseif块,因为会有100种组合.有可能,我可以以某种方式将这些类型存储为变量?然后将它们传递给构造函数?
小智 5
不,必须在编译时知道模板类的类型,因此必须将模型类型类型提供给模板.我不得不说,如果这个类旨在执行许多不同格式之间的转换,则使用模板参数来指定非常差的设计转换.
| 归档时间: |
|
| 查看次数: |
5511 次 |
| 最近记录: |