本文为个人学习整理所用,用于记录学习中遇到的各个函数
1.reserve()函数
`reserve()`是一个可用于容器类的成员函数,主要用于预分配容器所需的内存空间,以提高性能。它适用于以下容器类:`vector`、`string`、`deque`。
例如,对于`vector`类,可以使用`reserve()`函数来预分配容器的内存空间,以便减少后续的动态内存分配和复制操作。下面是`vector`类中使用`reserve()`函数的示例:
#include <vector>
using namespace std;
int main() {
vector<int> numbers;
// 预分配容纳10个整数的内存空间
numbers.reserve(10);
// 进行插入操作
for (int i = 1; i <= 10; i++) {
numbers.push_back(i);
}
// 显示容器中的元素个数和容量
cout << "容器中的元素个数: " << numbers.size() << endl;
cout << "容器的容量: " << numbers.capacity() << endl;
return 0;
}
在上面的示例中,通过使用`reserve(10)`函数预分配了能够容纳10个整数的内存空间。即使在后续的插入操作中插入了10个元素,容器的容量仍然是10,因此没有额外的内存分配和复制操作,提高了性能。
2.push_back()函数
用法:push_back() 在Vector最后添加一个元素(参数为要插入的值)
`push_back()`是用于向容器的尾部插入一个元素的成员函数。这个函数适用于以下容器类:`vector`、`string`、`deque`。
例如,对于`vector`类,可以使用`push_back()`函数将一个元素添加到容器的末尾。下面是使用`push_back()`函数的示例:
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> numbers;
// 向容器末尾添加元素
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);
// 显示容器中的元素
for (int i = 0; i < numbers.size(); i++) {
cout << numbers[i] << " ";
}
return 0;
}
在上面的示例中,使用`push_back()`函数向`numbers`容器中添加了三个整数。然后,使用循环将容器中的元素打印出来。输出结果将是`10 20 30`。
`push_back()`函数会自动调整容器的大小,并将新元素添加到容器的末尾。如果容器中没有足够的内存空间来存储新元素,它会自动分配更多的空间。因此,可以反复调用`push_back()`函数来添加多个元素到容器中。
类似的:
pop_back() //移除最后一个元素
clear() //清空所有元素
empty() //判断vector是否为空,如果返回true为空
erase() // 删除指定元素