C++ std::vector: 如何取出并删除第一个元素以及遍历剩余元素
C++ std::vector: 如何取出并删除第一个元素以及遍历剩余元素
在 C++ 中,std::vector 是一个强大的容器,它可以存储一系列元素。有时,我们需要从 std::vector 中取出第一个插入的元素并将其删除,然后遍历剩余的元素。
要取出第一个插入的元素并删除该元素,可以使用 std::vector 的 front() 函数来获取第一个元素,然后使用 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;
}
代码解释
- 定义结构体: 代码首先定义了一个名为
job_st的结构体,用于存储任务名称和作业 ID。 - 定义向量: 接着,定义了一个名为
g_job_compress_vector的std::vector,用于存储job_st类型的元素。 removeFirstElement()函数: 该函数负责删除向量中的第一个元素。它首先检查向量是否为空,如果为空,则不做任何操作。否则,它使用erase()函数删除第一个元素,该函数接受一个迭代器作为参数,该迭代器指向要删除的元素。在本例中,begin()函数返回指向向量第一个元素的迭代器。main()函数: 在main()函数中,我们首先添加三个job_st类型的元素到向量中。然后,调用removeFirstElement()函数来删除第一个元素。最后,使用for循环遍历剩余的元素,并打印它们的名称和 ID。
总结
本文介绍了如何使用 C++ 中的 std::vector 容器取出并删除第一个插入的元素,并遍历剩余元素。代码示例展示了如何使用 front()、erase() 和 for 循环来实现这些功能。希望本文对您有所帮助。
原文地址: http://www.cveoy.top/t/topic/e1js 著作权归作者所有。请勿转载和采集!