我想在两个结构中封装一个浮点数,例如:
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)); }
...
这是否与使用以下两个函数一样有效?
void DoStuffRad(float angle);
inline void DoStuffDeg(float angle) { DoStuffRad(Deg2Rad(angle)); }
解决方法:
它可能不会影响程序的运行速度,但可以增加使程序正确的几率.这很有效率!