我想用两个结构封装一个float
,例如:
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)); }
最佳答案
它可能不会影响程序的运行速度,但会增加使程序正确的几率。这很有效!
关于c++ - 原生类型的封装会影响效率吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11708023/