将 -1 用作枚举值的无效值(对于从 0 或更大开始的枚举)是否是个坏主意。对于未初始化的值或不应再具有有效值的值。 如何测试函数如何处理无效
#define INVALID_ENUM_VALUE -1
如果随机 uint 值处于未初始化/无效(比如资源 ID)状态,那么将其设置为 -1 怎么样?
#define INVALID_UNINT_VALUE -1
环绕是否存在潜在问题?如果程序不是很复杂并且不会长时间运行,则有效整数不太可能具有该值。我应该使用 UINT_MAX 吗?放弃并只使用 bool 来跟踪有效状态?
最佳答案
如果所有整数在代码中都是可能的好值,因为它们用于(比如说)加法,那么使用 -1(或任何数值)来指示错误或未知数没有意义 - 您需要使用其他一些机制,或者干脆忽略错误。
关于c - 使用 -1 作为无效值是不好的做法吗(对于枚举和可能未知的值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6327568/