C ++库中的任何内置钳位方法?

时间:2014-03-29 03:48:26

标签: c++ std clamp

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

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

2 个答案:

答案 0 :(得分:1)

C ++没有内置钳位功能。您可以实现自己的,或者如果您正好使用boost,则会有clamp function

答案 1 :(得分:1)

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

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

相关: