【问题标题】:Any builtin clamp method in the C++ library?C++ 库中有任何内置的钳位方法吗?
【发布时间】:2014-05-08 17:39:06
【问题描述】:

我想知道是否有一些内置的钳位方法可以将一个值钳位在一个范围之间,比如在 (0,1) 之间?

clamp(a) = a if a is in (0,1)
a < 0 a = 0
a > 1 a = 1

【问题讨论】:

  • 我不知道,但这是一个std::max 和一个std::min 电话。

标签: c++ std clamp


【解决方案1】:

C++17 引入了std::clamp()。现在你不需要实现你自己的了。只需使用std::clamp(a, 0.0, 1.0)

如果您没有 C++17 但可以选择 boost,则使用 boost::algorithm::clamp(n, lower, upper);

相关:

【讨论】:

    【解决方案2】:

    C++ 没有内置的钳位函数。您可以实现自己的,或者如果您碰巧使用boost,它有一个clamp function

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      相关资源
      最近更新 更多