我正在开发一个基于模板的库来支持定点整数,我想出了这个类,现在我必须测试它的各种值INT_BITS
和FRAC_BITS
。但由于它们是const
(并且它们必须如此出于某种原因),所以我无法在循环中初始化变量为INT_BITS
的对象,因此它正在对此库进行测试非常困难。
基于测试模板的类与const模板参数必须改变
template<int INT_BITS, int FRAC_BITS>
struct fp_int
{
public:
static const int BIT_LENGTH = INT_BITS + FRAC_BITS;
static const int FRAC_BITS_LENGTH = FRAC_BITS;
private:
// Value of the Fixed Point Integer
ValueType stored_val;
};
我尝试了很多花样提到here,here和here。我试图使用const int
和const_cast
的std::vector
,但似乎没有任何工作。
我在想,如何测试这样的库,其中模板参数是一个大的测试值的常量?
另一种选择是编写一个输出另一个C++程序的程序,该程序为各种值创建对象 –