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;
};
그래서 그런 매트릭스는 서로 다른 두 가지를 곱 수 있도록하고 싶습니다 :
Matrix<3, 4> m;
Matrix<4, 2> n;
// fill the matrix with values
Matrix<3, 2> o = m * n;
검색했지만이 질문에 대한 답변을 찾지 못했습니다. 정확히 무엇을 검색해야하는지 모르기 때문일 수 있습니다.
덕분에 당신의 도움 :)