#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;
}
我想在擦除mydeque的第一个值之前打印出1的整数值,有没有什么函数可以让我这样做?
std::deque<int> mydeque;
// set some values (from 1 to 10)
for (int i = 1; i <= 10; i++) mydeque.push_back(i);
auto iter = mydeque.begin();
int first = *iter;
/*
or
int first = *mydeque.begin();
//
mydeque.begin() is iterator
//
*/
std::cout << first << std::endl; //expecting to print out 1 before I erase it from mydeque
mydeque.erase(mydeque.begin());
return 0;
希望这对你有帮助
以下将是你做题中最直接、最好的方法。
#include <iostream>
#include <deque>
using namespace std;
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 num = mydeque.front(); //returns the frontmost element without deleting it
std::cout<<num;
mydeque.pop_front();//deletes the first element from deque
return 0;
}