我正在開發一個基於模板的庫來支持定點整數,我想出了這個類,現在我必須測試它的各種值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++程序的程序,該程序爲各種值創建對象 –