如何从std :: deque获取前一个元素?

时间:2010-07-27 07:49:14

标签: deque

例如,我有一个包含大约10个元素的数组。

std::deque<int> d;
front_inserter(d) = 100;
front_inserter(d) = 200;
front_inserter(d) = 300;
...
front_inserter(d) = 900;
front_inserter(d) = 1000;

问题:如何使用900访问权限查找[]元素,没有?如果大块的大小会改变,例如123,如何找到122元素?

PS:我不想使用[]因为此方法无法执行d[-1]检查...

感谢。

2 个答案:

答案 0 :(得分:1)

使用deque :: at。

d.at(121)

答案 1 :(得分:0)

如果你的意思是运行时检查抛出越界访问,你可以使用:: at(pos)。 如果你的意思是d [-1]是最后一个元素,d [-2]是倒数第二个,依此类推(a-la Python),那么你就要编写自己的(可能是模板)函数。