我想封装一个float两个结构,例如:
struct AngleDeg {
explicit AngleDeg(float angle):value(angle) {}
float value;
};
struct AngleRad {
explicit AngleRad(float angle):value(angle) {}
float value;
};
Run Code Online (Sandbox Code Playgroud)
然后在类中使用这些结构重载一个函数,例如:
...
void DoStuff(AngleRad angle);
inline void DoStuff(AngleDeg angle) { DoStuff(Deg2Rad(angle.value)); }
...
Run Code Online (Sandbox Code Playgroud)
这是否与使用以下两个函数一样有效?
void DoStuffRad(float angle);
inline void DoStuffDeg(float angle) { DoStuffRad(Deg2Rad(angle)); }
Run Code Online (Sandbox Code Playgroud)