C++ vector中保存的全是new的结构体
时间: 2024-04-24 21:25:54 浏览: 124
c++ vector使用
你好!对于保存在C++的vector中的结构体,如果你使用了new来动态分配内存,那么确保在不再需要这些结构体时及时释放内存是非常重要的。可以使用delete关键字来释放通过new分配的内存。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
struct MyStruct {
int value;
};
int main() {
std::vector<MyStruct*> myVector;
// 使用new动态分配结构体并保存到vector中
for (int i = 0; i < 10; i++) {
MyStruct* newStruct = new MyStruct;
newStruct->value = i;
myVector.push_back(newStruct);
}
// 访问vector中的结构体
for (const auto& item : myVector) {
std::cout << item->value << " ";
}
std::cout << std::endl;
// 释放结构体占用的内存
for (const auto& item : myVector) {
delete item;
}
return 0;
}
```
在上述示例中,我们在循环中使用new来分配结构体,并将其指针保存在vector中。然后,在不再需要这些结构体时,我们使用delete来释放内存。
希望这能帮到你!如果你有更多问题,请随时提问。
阅读全文