C++ vector存储和删除结构体实战指南

在Linux C++编程中,使用vector容器来存储和管理结构体数据非常高效便捷。本文将提供一个完整的代码示例,演示如何使用vector存储结构体,并实现删除指定结构体的功能。cpp#include #include

// 定义结构体 MyStructstruct MyStruct { int id; std::string name;};

int main() { // 创建存储MyStruct结构体的vector std::vector myVector;

// 添加结构体到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;}

代码解读:

  1. 定义结构体: 首先,我们定义了一个名为 MyStruct 的结构体,包含 idname 两个成员变量。2. 创建vector: 接着,我们创建了一个 std::vector<MyStruct> 类型的容器 myVector,用于存储 MyStruct 结构体。3. 添加结构体: 使用 push_back() 函数将三个 MyStruct 结构体添加到 myVector 中。4. 删除结构体: 通过迭代器遍历 myVector,找到 id 等于 targetId 的结构体,并使用 erase() 函数将其删除。5. 打印结果: 最后,使用范围for循环遍历 myVector,打印剩余结构体的 idname

输出结果:

---- 删除后的结构体 ----ID: 1, Name: JohnID: 3, Name: Bob

通过以上代码示例,我们可以清晰地了解如何在 C++ 中使用 vector 存储和删除结构体。 掌握这个技巧可以帮助你更高效地管理和操作数据,提升编程效率。

C++ vector存储和删除结构体实战指南

原文地址: http://www.cveoy.top/t/topic/egid 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录