STL front() ,back()和begin(),end()区别

首先看看vector里面的:

 reference front();
const_reference front() const;

queue里面的;
 value_type& front();
const value_type& front() const;

一般,reference定义为value_type& ,const_reference定义为const value_type&,所以上面2者是等同的。

也就是front()返回第一个元素的引用,back()返回最后一个元素的引用。

而begin()和end()返回的是迭代器:
 iterator begin();
const_iterator begin() const;

iterator一般等同于value_type *.

更重要的是,end()返回最后一个元素的下一个位置,而back()是返回最后一个元素
back()
Returns a reference to the last element in the vector.

Unlike member vector::end, which returns an iterator just past this element, this function returns a direct reference.

Calling this function on an empty container causes undefined behavior.
原文地址:https://www.cnblogs.com/youxin/p/3281123.html