C++ vector存储和删除结构体实战指南
C++ vector存储和删除结构体实战指南
在Linux C++编程中,使用vector容器来存储和管理结构体数据非常高效便捷。本文将提供一个完整的代码示例,演示如何使用vector存储结构体,并实现删除指定结构体的功能。cpp#include
// 定义结构体 MyStructstruct MyStruct { int id; std::string name;};
int main() { // 创建存储MyStruct结构体的vector std::vector
// 添加结构体到vector myVector.push_back({1, 'John'}); myVector.push_back({2, 'Alice'}); myVector.push_back({3, 'Bob'});
// 设置目标id以删除对应的结构体 int targetId = 2;
// 查找并删除指定id的结构体 for (auto it = myVector.begin(); it != myVector.end(); ++it) { if (it->id == targetId) { myVector.erase(it); break; // 删除后跳出循环 } }
// 打印vector中剩余的结构体 std::cout << '---- 删除后的结构体 ----' << std::endl; for (const auto& item : myVector) { std::cout << 'ID: ' << item.id << ', Name: ' << item.name << std::endl; }
return 0;}
代码解读:
- 定义结构体: 首先,我们定义了一个名为
MyStruct的结构体,包含id和name两个成员变量。2. 创建vector: 接着,我们创建了一个std::vector<MyStruct>类型的容器myVector,用于存储MyStruct结构体。3. 添加结构体: 使用push_back()函数将三个MyStruct结构体添加到myVector中。4. 删除结构体: 通过迭代器遍历myVector,找到id等于targetId的结构体,并使用erase()函数将其删除。5. 打印结果: 最后,使用范围for循环遍历myVector,打印剩余结构体的id和name。
输出结果:
---- 删除后的结构体 ----ID: 1, Name: JohnID: 3, Name: Bob
通过以上代码示例,我们可以清晰地了解如何在 C++ 中使用 vector 存储和删除结构体。 掌握这个技巧可以帮助你更高效地管理和操作数据,提升编程效率。
原文地址: http://www.cveoy.top/t/topic/egid 著作权归作者所有。请勿转载和采集!