std::clamp()函数接受三个参数:一个值,和两个边界值。它返回在边界范围内的值,如果给定的值在边界之外,它将返回最近的边界。在C++11标准中,确实没有std命名空间中的clamp()函数。不过,C++17标准中增加了这个函数(解决方案,将工程属性的c++语言标准修改为c++17),可以使用<algorithm>头文件来包含它。以下是一个使用clamp()函数的示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>

int main() {
int x = 10;
int y = 20;
int z = 15;
int result = std::clamp(z, x, y); // 15
std::cout << result << std::endl;
return 0;
}