【发布时间】:2016-10-06 20:04:19
【问题描述】:
我正在学习构建自己的 Matrix 类,并得到一个关于 operator+ 重载的问题。
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 可能只是为了学习编程类的基本技术。
-
如果您想了解如何实现这样的
Matrix类,请查看我在GitHub 上名为Matrix 的项目。 -
顺便说一句,您确定
variable[][]语法正确吗?考虑到operator[]必须只有一个参数,AFAIK,这对我来说看起来很奇怪。 -
@ForceBru 我的矩阵类继承自vector
标签: c++ class matrix overloading