capacity 告诉我们容器在不扩张内存空间的情况下可以容纳多少个元素reserve告诉我们通知容器它应该准备保存多少个元素(不改变容器中元素数量,仅影响vector预先分配多大的内存空间)shrink_to_fit() 將capacity减少为与size相同大小 vector<int> ivec;
cout << "ivec: size " << ivec.size() << " capacity: " << ivec.capacity() << endl;
// 添加24个元素
for (int i = 0; i < 24; i++) {
ivec.push_back(i);
}
// size为24,capacity大于等于24
cout << "ivec: size " << ivec.size() << " capacity: " << ivec.capacity() << endl;
ivec.reserve(50);
cout << "ivec: size " << ivec.size() << " capacity: " << ivec.capacity() << endl;
while (ivec.size() != ivec.capacity()) {
ivec.push_back(0);
}
cout << "ivec: size " << ivec.size() << " capacity: " << ivec.capacity() << endl;
ivec.push_back(0);
cout << "ivec: size " << ivec.size() << " capacity: " << ivec.capacity() << endl;
string的其他方法string s(cp, n) s是指向数组中前n个字符的拷贝
string s(s2, pos2) s是string s2从下标pos2开始的字符的拷贝
string s(s2, pos2, len2) s是从string s2从下标pos2开始len2字符的拷贝
s.substr(pos, n) 返回一个string, 包含s中从pos开始的n个字符的拷贝s.insert(pos, args) 在pos之前插入args制定的字符s.erase(pos, len) 删除从位置pos开始的len个字符s.assign(args) 將s中的字符替换为args指定的字符s.append(args) 將args追加到ss.replace(range, args) 删除s中范围range内的字符,替换为args指定的字符s.find(args) 查找s中args第一次出现的位置