在Linux中,可以使用vector容器来存储结构体。下面是一个示例,展示了如何使用vector存储结构体以及如何删除指定的结构体。

#include <iostream>
#include <vector>

struct MyStruct {
    int id;
    std::string name;
};

int main() {
    std::vector<MyStruct> myVector;

    // 添加结构体到vector
    myVector.push_back({1, "John"});
    myVector.push_back({2, "Alice"});
    myVector.push_back({3, "Bob"});

    // 删除指定结构体
    int targetId = 2;
    for (auto it = myVector.begin(); it != myVector.end(); ++it) {
        if (it->id == targetId) {
            myVector.erase(it);
            break;
        }
    }

    // 打印vector中的结构体
    for (const auto& item : myVector) {
        std::cout << "ID: " << item.id << ", Name: " << item.name << std::endl;
    }

    return 0;
}

在上述示例中,首先定义了一个结构体MyStruct,它包含一个整型的id和一个字符串类型的name。然后,创建了一个std::vector<MyStruct>类型的vectormyVector

接下来,通过使用push_back()函数将三个结构体添加到vector中。

然后,定义了一个整型变量targetId,用于指定要删除的结构体的id。使用迭代器遍历vector,找到与targetId匹配的结构体,并使用erase()函数从vector中删除该结构体。

最后,使用范围for循环遍历vector中剩余的结构体,并打印出它们的id和name。

输出结果将是:

ID: 1, Name: John
ID: 3, Name: Bob

这样,你就可以使用vector来存储结构体,并删除指定的结构体。

linux vector 存结构体 的使用方法 怎么删除指定结构体给出所有例子

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

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