在很多代码示例、源代码、库等中。据我所知,我看到了 int 的使用,unsigned int
会更有意义。
我经常看到的一个地方是 for
循环。见下例:
for(int i = 0; i < length; i++)
{
// Do Stuff
}
为什么你会使用 int
而不是 unsigned int
?只是懒惰——人们不会被输入 unsigned
所困扰吗?
最佳答案
使用 unsigned
会引入难以发现的编程错误,通常最好使用带符号的 int
来避免它们。一个例子是,当您决定向后而不是向前迭代并编写以下代码时:
for (unsigned i = 5; i >= 0; i--) {
printf("%d\n", i);
}
另一个是如果你在循环内做一些数学运算:
for (unsigned i = 0; i < 10; i++) {
for (unsigned j = 0; j < 10; j++) {
if (i - j >= 4) printf("%d %d\n", i, j);
}
}
使用 unsigned
会引入此类错误的可能性,而且实际上并没有任何好处。
关于c++ - C/C++ 使用 int 或 unsigned int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22587451/