小编The*_*vyn的帖子

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

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

c++ performance encapsulation abstraction inline

3
推荐指数
1
解决办法
122
查看次数

标签 统计

abstraction ×1

c++ ×1

encapsulation ×1

inline ×1

performance ×1