c++如何销毁一个vector
时间: 2023-07-23 10:58:44 浏览: 93
在C++中,可以使用`vector`的`clear()`方法来销毁一个`vector`对象。这个方法会将`vector`中的所有元素清空,并释放内存。
以下是一个示例代码,展示了如何销毁一个`vector`对象:
```cpp
#include <vector>
int main() {
std::vector<int> myVector = {1, 2, 3, 4, 5};
// 清空vector
myVector.clear();
// 检查vector是否为空
if (myVector.empty()) {
// vector已被销毁
// 进行其他操作...
}
return 0;
}
```
在上述代码中,首先创建了一个`vector`对象`myVector`并初始化了一些元素。然后使用`clear()`方法清空了`myVector`,使其不包含任何元素。最后,使用`empty()`方法检查`myVector`是否为空,以确认`vector`已被销毁。
需要注意的是,使用`clear()`方法只会清空`vector`中的元素,并释放占用的内存空间,但不会销毁`vector`对象本身。如果需要销毁整个`vector`对象,可以让其超出作用域,或者使用`std::vector<int>().swap(myVector)`将一个临时的空`vector`与原始的`myVector`对象进行交换,从而实现销毁操作。
```cpp
#include <vector>
int main() {
std::vector<int> myVector = {1, 2, 3, 4, 5};
// 销毁vector对象
{
std::vector<int>().swap(myVector);
}
// 检查vector是否为空
if (myVector.empty()) {
// vector已被销毁
// 进行其他操作...
}
return 0;
}
```
在上述代码中,使用了一个额外的代码块来创建一个临时的空`vector`,然后与原始的`myVector`对象进行交换。这样做会使得原始的`myVector`对象被销毁,而临时的空`vector`会超出作用域而被销毁。最后,通过`empty()`方法检查`myVector`是否为空,以确认`vector`已被销毁。