【发布时间】:2020-09-12 22:42:17
【问题描述】:
#include <iostream>
#include <deque>
int main ()
{
std::deque<int> mydeque;
// set some values (from 1 to 10)
for (int i=1; i<=10; i++) mydeque.push_back(i);
int first = mydeque.begin(); //this gives me an error
std::cout<<first<<endl; //expecting to print out 1 before I erase it from mydeque
mydeque.erase(mydeque.begin());
return 0;
}
我希望在我想删除它之前打印出 1 的整数值,这是 mydeque 的第一个值,有什么函数可以让我这样做吗?
【问题讨论】:
-
你可以像
*mydeque.begin()一样尊重迭代器,或者使用mydeque.front()。 -
mydeque.begin() 返回迭代器
-
哦,好的,谢谢,我是一个新的c++程序员,我正在学习
-
是的,请参阅std::deque 和成员函数
at、operator[]、front或back。因此,您可以使用mydeque.at(0);或mydeque[0];或mydeque.front();直接访问 dqueue 中的第一个元素。