循环 n 次,除了最常用的 for (int i = 0; i < n; ++i) {...} 之外,还可以写 while (n-- > 0) {...} 和 while (--n >= 0) {...}。这两种写法的区别在于,如果 n 是 unsigned 类型,那么后面那种写法会导致infinite loop。今天就被这只小 bug 咬了一口:) 也怪自己偷懒,不爱写 for 循环。
循环 n 次,除了最常用的 for (int i = 0; i < n; ++i) {...} 之外,还可以写 while (n-- > 0) {...} 和 while (--n >= 0) {...}。这两种写法的区别在于,如果 n 是 unsigned 类型,那么后面那种写法会导致infinite loop。今天就被这只小 bug 咬了一口:) 也怪自己偷懒,不爱写 for 循环。
循环 n 次,除了最常用的 for (int i = 0; i < n; ++i) {...} 之外,还可以写 while (n-- > 0) {...} 和 while (--n >= 0) {...}。这两种写法的区别在于,如果 n 是 unsigned 类型,那么后面那种写法会导致infinite loop。今天就被这只小 bug 咬了一口:) 也怪自己偷懒,不爱写 for 循环。