vector套vector怎么清空数据
时间: 2023-10-23 10:26:44 浏览: 63
清空一个vector套vector的数据,可以使用双重循环遍历并调用内部vector的clear()方法来清空。
示例代码如下:
```c++
vector<vector<int>> v;
// 添加一些元素
for(int i=0; i<10; i++) {
vector<int> inner_v;
for(int j=0; j<5; j++) {
inner_v.push_back(j);
}
v.push_back(inner_v);
}
// 清空vector套vector的数据
for(auto& inner_v : v) {
inner_v.clear();
}
v.clear(); // 清空外部vector
```
以上代码创建了一个vector套vector,然后通过双重循环遍历并清空内部vector的数据,最后再清空外部vector的数据。注意,清空内部vector的操作必须在清空外部vector之前执行。
相关问题
C++ vector如何清空数据
你可以使用 `clear()` 函数来清空一个 C++ 的 vector 容器的数据。这个函数会将容器中的所有元素删除,并将容器的大小设置为零。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVector {1, 2, 3, 4, 5};
// 清空 vector
myVector.clear();
// 输出 vector 的大小,此时应该为 0
std::cout << "Vector size after clear: " << myVector.size() << std::endl;
return 0;
}
```
运行以上代码,你会看到输出结果为 `Vector size after clear: 0`,表示 vector 已经被成功清空。
swap清空vector
可以使用以下代码来清空vector并释放内存:
```
std::vector<T>().swap(v);
```
其中,T是vector中存储的数据类型,v是需要清空的vector对象。该代码会创建一个临时的空vector,然后和原vector进行swap操作,将原vector的内容移动到临时vector中,最后临时vector被销毁时会自动释放内存。这种方法可以有效地清空vector并避免内存泄漏。