私のクラス Matrix には、ディープ コピーを実行するコピー コンストラクターを含む 2 つのコンストラクターがあります。このようなソリューションは、別のオブジェクトをコピーするという明らかなケースでうまく機能します。ただし、次の場合:
Matrix m = m1 * m2; // for earlier constructed m1 & m2
m に直接割り当てられるのではなく、オブジェクトをコピーするためだけに乗算演算でオブジェクトを作成したため、効率が悪いように思えます。また、行列は非常に大きなメモリを占有する可能性があります。それをより良く処理する方法、プロによる一般的な慣行は何ですか?
Matrix は、疎行列の場合と同様に、2 次元リストとして動的に実装されます。
PS 乗算の結果がローカルであることは理解しています。とはいえ、上記のような余計な計算をしなくても、なんとかうまく扱えるのではないかと思いました。