C++ std::vector: 如何取出并删除第一个元素以及遍历剩余元素

在 C++ 中,std::vector 是一个强大的容器,它可以存储一系列元素。有时,我们需要从 std::vector 中取出第一个插入的元素并将其删除,然后遍历剩余的元素。

要取出第一个插入的元素并删除该元素,可以使用 std::vectorfront() 函数来获取第一个元素,然后使用 erase() 函数来删除该元素。最后,可以使用一个 for 循环遍历剩余的元素。

示例代码

#include <iostream>
#include <vector>
#include <cstring>

typedef struct
{
    char taskName[256];
    int job_id;
} job_st;

typedef job_st *pjob_t;

std::vector<job_st> g_job_compress_vector;

void removeFirstElement()
{
    if (!g_job_compress_vector.empty())
    {
        g_job_compress_vector.erase(g_job_compress_vector.begin());
    }
}

int main()
{
    // 添加元素到向量中
    job_st job1;
    strcpy(job1.taskName, 'Task 1');
    job1.job_id = 1;
    g_job_compress_vector.push_back(job1);

    job_st job2;
    strcpy(job2.taskName, 'Task 2');
    job2.job_id = 2;
    g_job_compress_vector.push_back(job2);

    job_st job3;
    strcpy(job3.taskName, 'Task 3');
    job3.job_id = 3;
    g_job_compress_vector.push_back(job3);

    // 取出第一个元素并删除
    removeFirstElement();

    // 遍历剩余的元素
    for (const auto& job : g_job_compress_vector)
    {
        std::cout << 'Task Name: ' << job.taskName << ', Job ID: ' << job.job_id << std::endl;
    }

    return 0;
}

代码解释

  1. 定义结构体: 代码首先定义了一个名为 job_st 的结构体,用于存储任务名称和作业 ID。
  2. 定义向量: 接着,定义了一个名为 g_job_compress_vectorstd::vector,用于存储 job_st 类型的元素。
  3. removeFirstElement() 函数: 该函数负责删除向量中的第一个元素。它首先检查向量是否为空,如果为空,则不做任何操作。否则,它使用 erase() 函数删除第一个元素,该函数接受一个迭代器作为参数,该迭代器指向要删除的元素。在本例中,begin() 函数返回指向向量第一个元素的迭代器。
  4. main() 函数:main() 函数中,我们首先添加三个 job_st 类型的元素到向量中。然后,调用 removeFirstElement() 函数来删除第一个元素。最后,使用 for 循环遍历剩余的元素,并打印它们的名称和 ID。

总结

本文介绍了如何使用 C++ 中的 std::vector 容器取出并删除第一个插入的元素,并遍历剩余元素。代码示例展示了如何使用 front()erase()for 循环来实现这些功能。希望本文对您有所帮助。

C++ std::vector: 如何取出并删除第一个元素以及遍历剩余元素

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

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