0
我有一個簡單的數據結構,通過k
和l
,其中來自1
l
運行以N
和k
運行從1
到l
索引的三角矩陣:作爲成員或非成員函數的算法?
template<int N> class triangular_matrix {
std::vector<int> elem;
public:
int& operator()(int k, int l) {
return elem[(N * (N + 1) - l * (l + 1))/2 + k - 1];
}
};
我也有幾種算法在此數據結構操作。他們都只能通過operator()
訪問triangular_matrix
。
使這些算法的成員函數triangular_matrix
代替使它們成爲非成員函數(在非全局命名空間中)有什麼優點和缺點?
那麼,最小完整接口的主體會說他們應該是非成員函數,在這種情況下,我會同意。但在我看來,這些問題已經過分析,並沒有明確的答案。只要去你的直覺。 – jahhaj 2012-08-08 21:43:27