1

オーバーロードされた演算子が呼び出されるたびにデフォルト関数を呼び出すことは何とか可能ですか? たとえば、メートルまたはヤードのいずれかの値を含むクラスがあり、オーバーロードされた演算子を適用する前に、両方の単位が等しいことを確認したいとします。checkCompatibility()現在、オーバーロードされたすべての演算子定義で -functionを使用していますが、オーバーロードされたバイナリ操作に対して自動的に行われると便利です。

4

1 に答える 1

1

そのような機能はありませんが、Boost.Unitsは (コンパイル時に) 単位変換の問題を解決するように設計されています。あなたの関数はquantity<length>as パラメータを取り、ライブラリは渡されたものに互換性があることを確認し、単位の変換を処理します。

于 2013-02-08T07:43:12.923 に答える