高效STL—迭代器 & 算法
每个标准STL容器提供了四种不容的迭代器:iterator、const_iterator、reverse_iterator和const_reverse_iterator。同时容器的insert和erase的某些形式只接受其中一种。
没有办法从const的迭代器转换为非const的迭代器,不能隐式转换也不能通过const_case转换。但是可以使用...
分类:
编程语言 时间:
2014-12-06 21:36:28
阅读次数:
279
#pragma warning(disable:4786)#include #include using namespace std ;typedef set SET_INT;int main() { SET_INT s1; SET_INT::reverse_iterator i; cout ...
分类:
编程语言 时间:
2014-10-25 17:12:28
阅读次数:
157
Problem 1:vector coll = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };vector::const_iterator pos = find (coll.cbegin(), coll.cend(),5);cout ::const_reverse_iterator r...
分类:
其他好文 时间:
2014-09-11 18:56:12
阅读次数:
226
#include #include #include int main(){ using namespace std; int casts[10]={6,7,2,9,4,11,8,7,10,5}; vector dice(10); copy(casts,casts+10,di...
分类:
其他好文 时间:
2014-08-15 20:57:09
阅读次数:
195
其实crbegin就相当于cbegin+rbegin.
关于这两个函数可以看我的上两篇博文。
public member function
std::vector::crbegin
const_reverse_iterator crbegin() const noexcept;
Return const_reverse_iterator to ...
分类:
其他好文 时间:
2014-08-11 08:27:33
阅读次数:
262
public member function
std::vector::rbegin
C++98
C++11
reverse_iterator rbegin() noexcept;
const_reverse_iterator rbegin() const noexcept;
Return reverse iterator...
分类:
其他好文 时间:
2014-08-09 23:22:42
阅读次数:
684
非原创,原文链接:http://blog.csdn.net/shuchao/article/details/3705252 调用reverse_iterator的base成员函数可以产生"对应的"iterator,但这句话有些辞不达意。举个例子,看一下这段代码,我们首先把从数字1-5放进一个ve.....
分类:
其他好文 时间:
2014-06-26 20:07:59
阅读次数:
166
对于逆向迭代器,很重要的一点是需要弄清楚逻辑位置和实际位置二者的区别。
下图显示了逆向迭代器的位置和所指的数值:
可以发现,逆向迭代器所指位置(实际位置)和所代表的的数值(逻辑位置或数值)是不同的。C++这么做是有其原因的。导致这个行为的原因是区间的半开性。为了能够制定容器内的所有元素,我们必须运用最后一个元素的下一个位置。但是对于reverse迭代器而言,这个位置位于第一个元素之...
分类:
其他好文 时间:
2014-04-29 13:14:21
阅读次数:
367