代码之家  ›  专栏  ›  技术社区  ›  mosg

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

  •  0
  • mosg  · 技术社区  · 14 年前

    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 元素, 没有 使用 []

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

    2 回复  |  直到 14 年前
        1
  •  1
  •   user184968 user184968    14 年前

    d.at(121)

        2
  •  0
  •   6502    14 年前

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