スコット・マイヤーズはMatrix
ためoperator+
が戻りオブジェクト場合、式C++プロキシクラスを利用
Matrix sum = m1 + m2 + m3 + m4
は、(すべてのオブジェクトタイプMatrix
を持っている場合)、「はるかに効率的に計算することができることを、「効果的な現代のC++」で述べていますつまり、の2つのオブジェクトに対してoperator+
のオブジェクトは、Matrix
オブジェクトの代わりにSum<Matrix, Matrix>
のようなプロキシクラスのオブジェクトを返します。これは、初期化式全体をエンコードします。つまり、のようになります。 "
プロキシクラスは他のクラスの動作をエミュレートし、暗黙的なコンバージョンを行うことを理解していますが、この場合のプロキシアプローチはどのように効率的ですか?
よろしく
まあ、あなたのコード例では、あなたが 'sum'から読んだことがないので、プロキシのアプローチでは何も追加する必要はありません。 – Sneftel
私はC++プロキシに精通していませんが、結果が必要になるまで連鎖操作の評価を遅らせる連鎖遅延評価のようです。 – texasbruce
おそらく**表現テンプレート**はあなたが探しているものです。 –