从deque c ++分配新的自定义对象

时间:2013-05-02 23:27:06

标签: c++

我目前有:

deque<Job> jobs;
jobs.push_back(Job(1));

Job是我制作的一个自定义课程(非常简单,只有一个工作号码),我想做的是以下内容:

Job currentJob = jobs.pop_front();

然而,这给了我错误。如何完成将弹出的作业分配给新作业?

2 个答案:

答案 0 :(得分:7)

引证文件:

  

void pop_front();

     

删除第一个元素   删除deque容器中的第一个元素,有效地将其大小减小一个。

     

这会破坏已删除的元素。

 pop_front()

破坏对象,您可能需要尝试:

Job currentJob = jobs.front();
jobs.pop_front(); //remove the object from container and reduce size by 1

有关详细信息,请参阅std::deque::pop_front

答案 1 :(得分:1)

你想要的是这个

Job currentJob = jobs.front();
jobs.pop_front();