建议你看看eigen或者opencv的实现代码。
简单的说就B+C不要返回一个矩阵,而是返回一个代表B+C的类,这个类在opencv里叫做MatExpr。这个类有指向BC的指针,但是不计算。而在A的赋值构造函数中计算。
类似的技巧很多。基本原则就是把真正的计算尽量推迟到不得不算的时候。
【 在 ForSolitude 的大作中提到: 】
: 用大矩阵运算做例子
: 如果希望编程时写成这样: A = B + C;
: 但是在实现"+" 运算时,希望数据直接写进了A的存储空间,
: ...................
--
修改:dormouseBHU FROM 223.104.42.*
FROM 223.104.42.*