我使用Eigen作爲線性代數包。在那裏,他們有固定的尺寸矩陣類型,定義是這樣的:becasue我只用向量和方陣基於數據實例化int模板
template<class TNumber, size_t N, size_t M>
class Matrix
{...}
所以,我的大部分班結束了類似的模板:
template<size_t K>
class MyClass {...}
的尺寸K實際上將取決於從文件加載的數據。有沒有實例化一個動態的大小爲K這些模板,任何合理的方式,或者我必須有一個switch語句:
switch(dim) {
case 1: MyClass<1>...
case 2: MyClass<2>...
default: //too much data
}
?
如果您的軟件支持動態調整大小,但編程接口是靜態的,那麼您可以嘗試使用「即時」代碼。您在運行時創建動態共享對象,然後加載它。 – jxh 2013-03-19 19:12:23