Mor*_*enn 28 c++ metaprogramming rational-numbers c++11
我正在研究std::ratio<>
C++ 11标准中的类,它允许编译时合理算术.
我发现模板设计和用类实现的操作过于复杂,并且没有找到任何理由为什么他们不能通过实现一个非常简单的理性类并constexpr
为操作符定义函数来使用更直接和直观的方法.结果将是一个更容易使用的类,并且编译时优势将保持不变.
有没有人知道当前std::ratio<>
设计的优点与使用的简单类实现相比constexpr
?实际上,我无法找到当前实现的任何优势.
小智 15
constexpr解决方案解决了完全不同的问题.std::ratio
创建时用作使用不同单位的变量之间的桥梁,而不是作为数学工具.在这些情况下,您绝对希望比率是该类型的一部分.constexpr解决方案不适用于那里.例如,如果std::duration
没有运行时空间和运行时成本,将无法实现,因为每个持续时间对象都需要在对象内携带其分母/分母信息.
归档时间: |
|
查看次数: |
4558 次 |
最近记录: |