math.h遇到了提供最小值和最大值的麻烦,但没有钳制功能.我本以为,因为它们通常都是类似的实现方式,所以它们都会出现在同一个库中.
math.h是否有任何特殊原因没有钳位功能|宏?
是不是math.h的创造者认为没必要,或者他们只是没想到它?
编辑:
似乎人们忽略了这一点.我不是在问为什么他们不加钳,因为我很懒,不喜欢写一个新夹子 – 恰恰相反,我几乎没有使用它(虽然我承认我使用它比使用一些标准更多库).
我要问的是“有没有人知道为什么c标准化机构或创建者或者谁选择不在math.h中包含钳位函数?”.
我绝不抱怨它不在math.h中,我只是在问“它有没有充分的理由不存在?”.
编辑:
我明确没有问如何写一个clamp()函数.
解决方法
其他答案不再有效,因为
std::clamp现在在C 17中.
在撰写本文时,海湾合作委员会不支持,而是will be in GCC 7.