0

我错误地将操作员返回的引用地址back()放在一个空容器中,并惊讶地发现地址不是零。

如果一个容器,例如 std::deque 是空的,back()返回什么?

4

2 回答 2

7

它返回最后一个元素。

在此页面上:http ://www.sgi.com/tech/stl/BackInsertionSequence.html

前提条件:!a.empty()

等效于 *(--a.end())。

由于前提条件是双端队列不为空,因此这意味着它是未定义的行为。

于 2010-02-04T22:29:09.477 回答
1

在空的标准容器上调用frontor会导致未定义的行为。back

于 2010-02-04T23:02:25.123 回答