原生类型的封装是否会影响效率?

The*_*vyn 3 c++ performance encapsulation abstraction inline

我想封装一个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)

Bo *_*son 5

它可能不会影响程序的运行速度,但可以增加使程序正确的几率.这很有效率!