float
たとえば、 a を2つの構造にカプセル化したいと思います。
struct AngleDeg {
explicit AngleDeg(float angle):value(angle) {}
float value;
};
struct AngleRad {
explicit AngleRad(float angle):value(angle) {}
float value;
};
次に、クラスでこれらの構造体を使用して関数をオーバーロードします。次のようになります。
...
void DoStuff(AngleRad angle);
inline void DoStuff(AngleDeg angle) { DoStuff(Deg2Rad(angle.value)); }
...
これは、次の 2 つの関数を使用するのと同じくらい効率的ですか?
void DoStuffRad(float angle);
inline void DoStuffDeg(float angle) { DoStuffRad(Deg2Rad(angle)); }