我對C++(使用C++ 2011)相當陌生,我想爲以下問題找到解決方案。我有一個表示fonction一類:模板參數簡化
class Curve {
private:
...
public:
std::array<double, 3> value(double s);
}
我使用的對象給此函數傳遞到由一類爲代表的算法:
template <int n, typename Functor>
class Algorithm {
private:
Functor f;
std::array<double, n> a;
public:
...
}
然後我創建對象
Algorithm<3, Curve> solver;
但是3很明顯是來自任何類型曲線對象的方法值返回數組大小的3。我想簡化該代碼,以便我可以使用:
Algorithm<Curve> solver;
但我對如何做到這一點不知道。你介意給我一個提示嗎?
最好的問候, 弗朗索瓦
看一看的std ::向量。它們與許多其他編程語言的列表相媲美。 – Nallath
@Nallath不,大小在編譯時已知。 'std :: array'是最好的選擇。 – Manu343726
我非常喜歡優化事物(例如:保持模塊化)。但那可能是個人風格的事情。 – Nallath