내 자신의 Matrix 클래스를 작성하고 연산자 + 오버로드에 대해 질문하는 중입니다.C++ 연산자 + 행렬 오버플로
Matrix Matrix::operator+(Matrix &b)
{
Matrix temp;
*
*
*
return temp;
}
c = a + b;
이 아주 잘 작동하지만 내가 조금 걱정 그게 (매트릭스 C) 내가 먼저 임시 매트릭스를 선언는 최종 대상에 복사하는 것이 비효율적입니까? 예를 들어, 다음은 순진한 행렬 덧셈 함수입니다.
void matrixAdd(Matrix& c, Matrix& a, Matrix& b)
{
c[][]=a[][]+b[][];
}
물론 첫 번째 것은 더 사용하기 쉽지만 두 번째는 더 빠를까요? 그렇다면 첫 번째 개선 방법은 무엇입니까?
고유 한 행렬 클래스를 만드는 이점은 무엇입니까? 나는 glm 라이브러리가 적절하게 이상을 수행한다고 생각한다. – Charlie
@Charlie 아마도 프로그래밍 클래스의 기본 기술을 배우기위한 것이다. – Barmar
'Matrix' 클래스를 어떻게 구현할 수 있는지 살펴 보려면 [GitHub] (https://github.com/ForceBru/Matrix)에서 _Matrix_라는 내 프로젝트를 확인하십시오. – ForceBru