注意事项
注意 size() 的返回类型 size_t
容器通用方法 size() 返回的类型是 size_t,size_t 是 unsigned 的。
所以在实际使用过的时候要注意,特别是在 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
}