剪辑功能的标准库版本

nan*_*nsy -1 c++ c++17

我已经编写了一个名为的实用程序nostd::clip,可以x在a floor和a 之间剪切提供的值ceiling

namespace nostd {
    template<class T>
    auto clip(T floor, T x, T ceiling) -> T
    {
        return std::min(ceiling, std::max(floor, x));
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有一些功能std可以完成相同的工作,我可以用它代替?也许在C ++ 17中?

Jes*_*uhl 5

您需要std :: clamp。它执行您的自定义实现所执行的操作。

您确实应该熟悉标准库提供的内容。像cppreference这样的参考站点对此非常有用


Mic*_*kis 5

您在寻找std :: clamp吗?更多信息在这里