2012-02-02 10 views

答えて

6

これらは両方とも機能であり(したがって速度の差はありません)、その1つ(オペレータ)が呼び出されるためにはもっと「派手な」構文を使用できることがあります。

2つのうちどれを使用するかは速度ではなく、オペレータを使用するタイプに自然な意味があるかどうかを判断する際の質問です。あなたがオペレータが通常何をしているかを知っていることを考慮して、それを読者には全く驚くべきことをするために使用するとき、オペレータに過負荷をかけないでください。

(ここでは、intの代わりに独自の型を意味すると仮定しています。わからない場合は、演算子をintにオーバーロードできません。オーバーロードされた演算子のパラメータの1つは、 )

+0

良い推測!実際には私はユーザ定義の型を使いますが、簡単にするために 'int'を書きました。 – Shibli

+0

@Shibli:どのようなudtであるかを示すよくある方法は、「何か」を示す非常に一般的なテンプレートパラメータであるように見えるので、 'T'を使用することです。 – PlasmaHH

2

は違い、彼らは私が今まで聞いたすべてのコンパイラで内部的にまったく同じように実装されています。確かめてください:それをプロファイルしてください!

+0

うん、@DavidSeilerのように、それをプロファイリングするか、Linuxマシンを持っている場合はコンパイルして、両方のケースで実行時間を計算するために時間を使う(かなりの反復回数で)。 – crsuarezf

8

実行速度に関しては違いはありません。

選択肢は、スタイルと可読性のいずれかに過ぎません。将来のメンテナンスに役立つ最も理解できるコードを作成するものを選択する必要があります。

関連する問題