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

|