0

当 a std::stringis""或 vector 没有元素时,begin()等于end()?

如果是这样,begin()/的值是end()多少?

4

2 回答 2

6

当 std::string 为 "" 或向量没有元素时,begin() 是否等于 end()?

是的,对于任何空的标准库容器,包括std::stringand std::vectorbegin()都将返回与end().

如果是这样,begin()/end() 的值是多少?

它将是该容器独有的迭代器,但不应取消引用。这样做会导致未定义的行为。

于 2013-05-13T23:55:07.710 回答
4

是的。任何没有元素的 STL 容器类型都将具有begin() == end(),因为元素的范围是半开范围 [ begin(), end())。

希望这可以帮助!

于 2013-05-13T23:54:37.877 回答