例如,我有一个包含大约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]
检查...
感谢。
答案 0 :(得分:1)
使用deque :: at。
d.at(121)
答案 1 :(得分:0)
如果你的意思是运行时检查抛出越界访问,你可以使用:: at(pos)。 如果你的意思是d [-1]是最后一个元素,d [-2]是倒数第二个,依此类推(a-la Python),那么你就要编写自己的(可能是模板)函数。