【发布时间】:2011-03-29 21:47:05
【问题描述】:
我有一个必须从 N 到 0(包括)的循环。我的i 变量是size_t 类型,通常是无符号的。我目前正在使用以下代码:
for (size_t i = N; i != (size_t) -1; --i) {
...
}
正确吗?有没有更好的方法来处理这种情况?
谢谢,
文森特。
【问题讨论】:
-
嗯,这是一个非常好的问题。
-
size_t保证是未签名的,并且您对(size_t)-1的使用是正确的。只有当 N 等于该值时,您才会遇到问题... -
@supercat:因为这发生在另一个 for 循环中,我更喜欢有另一个 for 循环来实现“同步性”。