c++ vector 清楚对象
时间: 2023-11-21 16:57:03 浏览: 40
在C++中,清空vector对象有两种方法:
方法一:使用clear()函数
```c++
vector<float> vecClass;
// 向vecClass中添加元素
vecClass.push_back(1.2);
vecClass.push_back(3.4);
vecClass.push_back(5.6);
// 清空vecClass
vecClass.clear();
```
方法二:使用swap()函数
```c++
vector<float> vecClass;
// 向vecClass中添加元素
vecClass.push_back(1.2);
vecClass.push_back(3.4);
vecClass.push_back(5.6);
// 清空vecClass
vector<float>().swap(vecClass);
```
其中,第二种方法使用了一个匿名的vector对象来交换vecClass,这样可以更快地释放vecClass占用的内存。
相关问题
C++vector储存对象
在C++中,可以使用vector来储存对象。具体步骤如下:
1. 定义一个类,例如:
```
class Person{
private:
string name;
int age;
public:
Person(string n, int a){
name = n;
age = a;
}
//其他成员函数
};
```
2. 在主函数中声明vector,例如:
```
#include <vector>
vector<Person> people;
```
3. 创建对象并添加到vector中,例如:
```
Person p1("Tom", 20);
people.push_back(p1);
```
4. 可以使用vector的各种函数来访问和操作储存的对象,例如:
```
cout << people[0].getName() << endl; //访问第一个对象的名字
people.pop_back(); //删除最后一个对象
```
需要注意的是,储存对象时,vector会调用对象的拷贝构造函数,因此需要在类中定义拷贝构造函数和析构函数,确保对象的正确储存和释放。
C++对vector对象进行排序
可以使用STL库中的sort函数对vector对象进行排序。示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec {5, 1, 3, 2, 4};
// 使用sort函数进行排序
sort(vec.begin(), vec.end());
// 输出排序后的结果
for (auto num : vec) {
cout << num << " ";
}
return 0;
}
```
输出结果为:1 2 3 4 5。
在代码中,我们首先定义了一个vector对象vec,其中包含了5个整型元素。然后我们使用sort函数对vec进行排序,sort函数的第一个参数为待排序的容器的起始迭代器,第二个参数为容器的终止迭代器。最后使用for循环输出排序后的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/rtf](https://img-home.csdnimg.cn/images/20210720083646.png)