跳转至

注意事项

注意 size() 的返回类型 size_t

容器通用方法 size() 返回的类型是 size_tsize_tunsigned 的。

所以在实际使用过的时候要注意,特别是在 for 循环中:

vector<int> vec1;

// 这个循环会一直运行不会结束,
// 因为 size_t 类型的 vec1.size() 等于 0
// size_t 类型的 vec1.size() - 10 等于 18446744073709551606
for (int i = 0; i < vec1.size() - 10; i++) {
    // Do Something
}

// 正确的写法
// size_t cast to int
int len = vec1.size();
for (int i = 0; i < len - 10; i++) {
    // Do Something
}