我有一些使用模板的代码,所以我可以在浮点数、实数、双精度之间切换,以实现计算精度或节省内存。现在我想让用户在每次执行时选择精度,但我不确定我应该怎么做。
假设在我的 main.cpp 我有
// main.cpp
Object<double> obj;
obj.doSomething();
有没有办法“设置”使用的类型?像下面这样的东西?
//main.cpp
std::cout << "Choose Precision ": << std::endl;
std::cin >> PRECISION; // eg float or double
? fix precision and use generic code below with it ?
Object<PRECISION> obj;
obj.doSomething();
更新
现在很明显我不能在执行时。谢谢。
我是否仍然可以在主要使用通用模板代码,以便我只有 1 行可以编辑以不同精度编译代码?
Kevin Cadieux 回答的更新:typedef double MyPrecision;