如果我需要获取最大值,将-1分配给无符号的int或其他无符号的c++数据类型是否安全?

在任何情况下,它都不会给我一个无符号数据类型可以包含的最大值?

最佳答案

为了安全起见,请使用std::numeric_limits<unsigned int>::max()
将-1转换为unsigned可以在主流平台上使用,但是标准AFAIR不能保证。

UPD:我会纠正自己。 (无符号)-1必须为C中的UINT_MAX,请参见答案here

关于c++ - 将-1赋给无符号int以获取最大值是否安全?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10310771/

10-11 22:56