0441デフォルトの名無しさん
2008/06/23(月) 11:28:53行列クラス用いて演算子オーバーロード使うと基本的に関数戻り値を
値コピーで返すしかないこと.
a*b*c*dなどの行列演算でa,b,c,dが1000×1000のdouble型行列クラスだと
しよう.そうすると,8Mbyteの値コピーが*につき多分2回,上のように
行列の多重積になるとおぞましく発生する.
行列クラスなんか使わずに,ただの配列つかって配列名を引数渡しすれば
(普通のFortranやC言語と同じ使い方)こんなことは生じないおぞましい
コピーは生じない.
あと,コンパイラが戻り値最適化をサポートしていれば...以下略