liunx c++stdvectorjob_st job_restore_vector typedef struct char taskName256; int job_id; TASKType t; job_st;typedef job_st pjob_t; 怎么删除某个元素 使用c++98标准实现给出实现
在C++98标准中,可以使用erase()函数来删除vector中的某个元素。以下是一个示例实现:
#include <iostream>
#include <vector>
#include <cstring>
// 定义job_st结构体
typedef struct {
char taskName[256];
int job_id;
int TASKType;
} job_st;
typedef job_st *pjob_t;
int main() {
std::vector<job_st> job_restore_vector;
// 添加一些元素到vector中
job_st job1;
std::strcpy(job1.taskName, "Task 1");
job1.job_id = 1;
job1.TASKType = 1;
job_restore_vector.push_back(job1);
job_st job2;
std::strcpy(job2.taskName, "Task 2");
job2.job_id = 2;
job2.TASKType = 2;
job_restore_vector.push_back(job2);
// 删除某个元素
int index_to_remove = 0; // 要删除的元素的索引
job_restore_vector.erase(job_restore_vector.begin() + index_to_remove);
// 打印剩余元素
for (std::vector<job_st>::iterator it = job_restore_vector.begin(); it != job_restore_vector.end(); ++it) {
std::cout << "Task Name: " << it->taskName << ", Job ID: " << it->job_id << ", Task Type: " << it->TASKType << std::endl;
}
return 0;
}
在上面的示例中,我们首先定义了job_st结构体和job_restore_vector向量。然后,我们添加了两个元素到vector中。接下来,我们使用erase()函数删除了索引为0的元素。最后,我们使用迭代器遍历vector并打印剩余的元素。
原文地址: http://www.cveoy.top/t/topic/jcV7 著作权归作者所有。请勿转载和采集!