在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并打印剩余的元素。

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标准实现给出实现

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

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