我一直在和同事讨论 size _ t 的用法。出现的一个问题是循环减少循环变量直到它达到零。
考虑以下代码:
for (size_t i = n-1; i >= 0; --i) { ... }
由于无符号整数换行,这将导致无限循环。这种情况下你是做什么的?编写上述代码,却没有意识到自己犯了一个错误,这似乎太容易了。
我们团队的两个建议是使用以下风格之一:
for (size_t i = n-1; i != -1 ; --i) { ... }
for (size_t i = n; i-- > 0 ; ) { ... }
但我很好奇还有什么别的选择。