我有一個模板類,具有以下定義:將類型存儲爲變量?對於模板類?
ImageRescaleDepth<PIXEL_TYPE_INPUT, PIXEL_TYPE_OUTPUT>
這個類使用模板,對於幾乎所有自認爲是通用的。反正我需要這個應用程序的命令行版本,做圖像縮放,目前該系統設置以處理以下類型:
1BIT, 2BIT, 4BIT, unsigned 8 bit, signed 8 bit, unsigned 16 bit, signed 16 bit, unsigned 32 bit, signed 32 bit, float, double.
這些都是由命令行傳入的,我把它們轉換成一個枚舉。
我無法修改ImageRescaleDepth類,因爲它是庫的一部分。我並不完全想要創建一個巨大的開關或eliseif塊,因爲會有100個組合。是否有可能,我可以以某種方式將這些類型存儲爲變量?然後將它們傳遞給構造函數?
我知道。 那麼製作一個100個元件的開關盒是最好的解決方案嗎? – UberJumper 2009-12-21 12:36:27
我會使用一個映射,鍵入一對from/to類型(作爲枚舉或常量,而不是類型名稱)到指向某種創建函數的指針。換句話說,一家工廠。 – 2009-12-21 12:38:52
創建函數是調用每個類型的模板的每個特定的實例(我想這個模板有一個像轉換的方法(圖片< PIXEL_IN > const&,圖片< PIXEL_OUt >&)) – 2009-12-21 14:06:35