front()和begin()之间的区别

时间:2012-02-15 23:21:28

标签: c++ stl

许多STL容器中出现的front()begin()函数之间有什么区别?

4 个答案:

答案 0 :(得分:21)

begin()返回一个可用于迭代集合的迭代器,而front()只返回对集合的第一个元素的引用。

答案 1 :(得分:3)

front()返回对第一个元素的引用,begin()返回一个迭代器。

请注意,不应在空容器上调用front,但只要不取消引用begin返回的迭代器,就可以调用begin

答案 2 :(得分:1)

来自http://www.cplusplus.com/reference/stl/vector/begin/(字面意思是“vector :: begin”的第一个google结果):

  

请注意,与返回对第一个元素的引用的成员vector::front不同,此函数返回一个随机访问迭代器。

答案 3 :(得分:0)

front成员返回对列表或向量的第一个成员的引用。 begin函数返回一个迭代器(更像是指针),初始化为列表,映射或向量的第一个成员。