c++ - 原生类型的封装会影响效率吗?

标签 c++ performance inline encapsulation abstraction

我想用两个结构封装一个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/

相关文章:

c++ - 来自随机数生成器包装器 (C++) 的令人困惑的内联行为

c - 静态内联 vs 内联静态

c++ - 如何将 ostream_iterator 的输出转换为字符串?

c++ - 如何从 Qt 应用程序驱动 excel 窗口

c++ - Signed Char的目的是什么

java - 读写分离是否提高了程序效率?

javascript - 具有 asyc 属性的脚本仍然会阻止其他脚本执行

c - 为什么前几个字符串赋值比较慢?

c++ - enabled-if 类中析构函数的定义越界?

c++ - 是否有任何编译器忽略有关默认内联函数的 C++ 标准?