我已经编写了一个名为nostd::clip
的实用程序,该实用程序在x
和floor
之间剪切了提供的值ceiling
:
namespace nostd {
template<class T>
auto clip(T floor, T x, T ceiling) -> T
{
return std::min(ceiling, std::max(floor, x));
}
}
std
中是否有某些功能可以执行相同的操作,我可以用它代替?也许在C ++ 17中?
答案 0 :(得分:5)
您想要std::clamp。它可以执行您的自定义实现。
您真的应该熟悉标准库提供的内容。像cppreference这样的参考网站非常适合。
答案 1 :(得分:5)
您要寻找std::clamp吗? 更多信息here。