查询围绕在确定帧填充的上下文中比较有符号和无符号整数表达式时遇到的警告星号边框问候语。
问题:
为什么在更新的程序中比较 int 和 string::size_type 时会发出警告,而原始代码会发出警告没有遇到这个问题?
答案:
如果要与大小进行比较,建议将变量声明为 unsigned 或 string::size_type 以避免此类警告。建议使用确切的类型进行比较(例如,与字符串长度进行比较时使用 string::size_type)。
令人惊讶的比较:
警告源于不同的有符号和无符号整数的范围,导致比较中出现意外结果。为了确保清晰,请在执行比较之前将一个值显式转换为与另一个值兼容的类型。
转换示例:
进一步说明:
最初的询问中并没有明确提到这个问题是否会在《Accelerated C》一书中解决。
以上是为什么将 int 与 string::size_type 进行比较会在更新的代码中触发警告?的详细内容。更多信息请关注PHP中文网其他相关文章!