私はC++を発見しており、テンプレートを使用してミニ数学行列ライブラリを作成したいと考えています。異なる引数を持つC++演算子オーバーロードテンプレート
ここでは、演算子*をオーバーロードします。 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;
};
だから私はそのような2貴様行列を乗算できるようにしたいと思います:
Matrix<3, 4> m;
Matrix<4, 2> n;
// fill the matrix with values
Matrix<3, 2> o = m * n;
私は検索しましたが、この質問に対する回答が見つかりませんでした(正確に何を検索する必要があるかわからないためかもしれません)。あなたの助けのための
感謝:)