假设我有这个(C++ 或者 C)代码:
vector<int> my_vector;
for (int i = 0; i < my_vector.size(); i++) {
my_vector[i] = 0;
}
我不在乎它是否做得对。重要的部分是在 for 循环声明中。编译器为此给出了有符号/无符号不匹配,因为 size() 返回一个无符号整数,而不是有符号整数。更改i
为未签名有多重要?我将循环计数器声明为 int 是出于习惯,但如果这是一个潜在的错误,我会强迫自己改掉这个习惯。