c++ - 限制整数范围

标签 c++ max min clamp

<分区>

我试图确保 int x 大于或等于 0 但小于 1080(在本例中为屏幕尺寸)。

我想出了这个

int x = 123;
x = std::min(std::max(x, 0), 1080);

这看起来很丑陋。有没有更好的方法来实现这一点?

最佳答案

以后生活的话可以用std::clamp from C++17 :

x = std::clamp(x, 0, 1080);

关于c++ - 限制整数范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41535581/

相关文章:

c++ - 成员互斥导致SegFault

c++ - 在 std::set 的定义中将 const_iterator 强制转换为 iterator&

c++ - 获取 'vector subscript out of range' 错误

sql - 返回对应聚合结果的表ID

ruby-on-rails - 如何在 ruby​​ 中找到跨记录的最大属性?

c++ - 如何通过 dll 从静态库调用函数。

linux - 可能有多少个套接字连接?

Matlab代码识别多项式曲线的最大峰值(坐标)

mysql - 为每个 ID 选择最大日期

c++ - 运行 CLIREG32 的正确语法?