その中にいくつかのboost::numeric::ublas::matrixを含むクラスがあります。クラスの演算子 (+-*/=) をオーバーロードして、1 つのステートメントで一連の行列を処理できるようにしたいと考えています。
ただし、これには、元のクラスを変更せずに値を持ち運ぶために、クラスの一時的なインスタンスが必要なようです。これは私には理にかなっていますが、関数内で新しいインスタンスを作成して返すと、次のようになります。
警告: ローカル変数 'temp' への参照が返されました
私はc ++にかなり慣れていないので、演算子のオーバーロードの例はすべて新しい一時オブジェクトを返すようです。また、新しいマトリックスをインスタンス化する際のオーバーヘッドを回避したいと思います。これにより、すべての要素をループすることになります。これについてどうすればよいですか?パフォーマンスは懸念事項です。