मैं सी ++ खोज रहा हूं और मैं टेम्पलेट का उपयोग करके एक मिनी गणित मैट्रिक्स लिब्रायरी बनाना चाहता हूं।सी ++ ऑपरेटर ओवरलोड टेम्पलेट विभिन्न तर्कों के साथ
यहां, मैं ऑपरेटर * को अधिभारित करना चाहता हूं।
तो मैं इस तरह एक मैट्रिक्स का वर्णन: M
साथ M(y, x)
मैट्रिक्स नाम, y
और x
ऊंचाई और चौड़ाई, एक आव्यूह गुणन कि तरह दिखना चाहिए:
M(a, b) * N(b, c) = R(a, c)
वर्तमान में मैं इस कोड है:
template<unsigned int y, unsigned int x>
class Matrix
{
public:
Matrix() { }
~Matrix() { }
Matrix<y, x2>& operator*(const Matrix<y2, x2>& right)
{
// code...
}
private:
std::array<std::array<double, x>, y> m_values;
};
तो मैं उस तरह मैट्रिक्स दो विभिन्न गुणा करने के लिए सक्षम होने के लिए करना चाहते हैं:
Matrix<3, 4> m;
Matrix<4, 2> n;
// fill the matrix with values
Matrix<3, 2> o = m * n;
मैंने खोज की है लेकिन मुझे इस प्रश्न का उत्तर नहीं मिला (शायद क्योंकि मुझे नहीं पता कि मुझे वास्तव में क्या खोजना चाहिए)।
धन्यवाद आपकी मदद :)