在关于cppreference(http://en.cppreference.com/w/cpp/container/vector/begin)的std::vector
的描述中,我错过了begin()
函数返回的迭代器的分类(根据http://www.cplusplus.com/reference/iterator/)(这同样适用于end()
)返回的迭代器。
cppreference不必说明begin()
返回哪个迭代器类别,以便用户知道迭代器的功能吗?
目前,对我来说,仍然不清楚std::vector
的迭代器提供了哪些功能。
答案 0 :(得分:2)
查看Member types部分std::vector
下的主要说明:
iterator RandomAccessIterator const_iterator Constant random access iterator reverse_iterator std::reverse_iterator<iterator> const_reverse_iterator std::reverse_iterator<const_iterator>
std::vector
使用RandomAccessIterator
RandomAccessIterator是可以移动到的BidirectionalIterator 指向恒定时间内的任何元素。指向元素的指针 数组满足RandomAccessIterator的所有要求 ...
答案 1 :(得分:2)
从这里http://en.cppreference.com/w/cpp/container/vector你可以看到向量的迭代器为$usGroups = $_POST['usergroups'];
$usgr = implode(",",$usGroups);
概念建模:http://en.cppreference.com/w/cpp/concept/RandomAccessIterator
RandomAccessIterator
会返回std::vector::begin()
(或std::vector::iterator
)
const_iterator
会返回std::begin(x)
因此std :: begin(std :: vector&lt; ...&gt;)将返回一个随机访问迭代器。