当 a std::string
is""
或 vector 没有元素时,begin()
等于end()
?
如果是这样,begin()
/的值是end()
多少?
当 std::string 为 "" 或向量没有元素时,begin() 是否等于 end()?
是的,对于任何空的标准库容器,包括std::string
and std::vector
,begin()
都将返回与end()
.
如果是这样,begin()/end() 的值是多少?
它将是该容器独有的迭代器,但不应取消引用。这样做会导致未定义的行为。
是的。任何没有元素的 STL 容器类型都将具有begin() == end()
,因为元素的范围是半开范围 [ begin()
, end()
)。
希望这可以帮助!