linux vector 存结构体 的使用方法 怎么删除给出所有例子
在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, "Jane"});
myVector.push_back({3, "Alice"});
// 遍历vector并打印结构体
for (const auto& s : myVector) {
std::cout << "ID: " << s.id << ", Name: " << s.name << std::endl;
}
// 删除指定结构体
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
if (it->id == 2) {
myVector.erase(it);
break;
}
}
std::cout << "After deletion:" << std::endl;
for (const auto& s : myVector) {
std::cout << "ID: " << s.id << ", Name: " << s.name << std::endl;
}
return 0;
}
此示例中,我们首先定义了一个结构体MyStruct,其中包含id和name两个成员变量。然后,我们创建了一个std::vector<MyStruct>类型的vector容器myVector。
接下来,我们使用push_back函数将几个结构体添加到vector中。然后,我们使用范围for循环遍历vector,并打印每个结构体的id和name。
在删除结构体方面,我们使用了一个迭代器it来遍历vector,并找到id为2的结构体。一旦找到匹配的结构体,我们使用erase函数将其从vector中删除。
最后,我们再次遍历vector,并打印剩余的结构体。
请注意,这只是一个简单的示例,用于演示如何使用vector存储和删除结构体。在实际应用中,可能需要更复杂的操作和逻辑来处理结构体的存储和删除。
原文地址: https://www.cveoy.top/t/topic/i10c 著作权归作者所有。请勿转载和采集!