gpt4 book ai didi

c++ - 测试最大无符号值

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:17 24 4
gpt4 key购买 nike

这是在 C 和 C++ 代码中测试最大无符号值的正确方法吗:

if(foo == -1)
{
// at max possible value
}

其中 foo 是一个 unsigned int,一个 unsigned short,等等。

最佳答案

对于 C++,我相信您最好使用 numeric_limits来自 <limits> 的模板标题:

if (foo == std::numeric_limits<unsigned int>::max())
/* ... */

对于 C,其他人已经指出了 <limits.h> header 和 UINT_MAX .


显然,“允许命名类型的解决方案很简单”,因此您可以:

template<class T>
inline bool is_max_value(const T t)
{
return t == std::numeric_limits<T>::max();
}

[...]

if (is_max_value(foo))
/* ... */

关于c++ - 测试最大无符号值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4539469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com