h*****g 发帖数: 944 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: huasing (Menlo Park), 信区: JobHunting
标 题: const_reverse_iterator和reverse_iterator有什么区别?
发信站: BBS 未名空间站 (Thu Jul 22 15:06:13 2010, 美东)
这两个iterator有什么区别?似乎这两个还是有细微差别的
比如 code1:
vector::reverse_iterator reverseIterator;
for(reverseIterator=integers.rbegin()reverseIterator!=integers.rend();++
reverseIterator)
cout<<*reverseIterator<<' ';
如果把iterator的type换成const_reverse_iterator, 他就会有compiling error:
Code 2:
vector::const_reverse_iterator reverseIt | N***m 发帖数: 4460 | 2 2 works on gcc.
【在 h*****g 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: huasing (Menlo Park), 信区: JobHunting : 标 题: const_reverse_iterator和reverse_iterator有什么区别? : 发信站: BBS 未名空间站 (Thu Jul 22 15:06:13 2010, 美东) : 这两个iterator有什么区别?似乎这两个还是有细微差别的 : 比如 code1: : vector::reverse_iterator reverseIterator; : for(reverseIterator=integers.rbegin()reverseIterator!=integers.rend();++ : reverseIterator) : cout<<*reverseIterator<<' ';
| N***m 发帖数: 4460 | 3 From C++ effective STL:
"Prefer iterator to const iterator, reverse_iterator, and
const_reverse_iterator."
" there are implicit conversions from iterator to const_iterator.
from iterator to reverse_iterator, and from reverse_iterator to
const_reverse_iterator."
" a reverse_iterator may be converted into an iterator by using
the
reverse_iterator's base member function, and a const_reverse_iterator may
similarly be converted into a const_iterator via base."
"there is no way t
【在 h*****g 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: huasing (Menlo Park), 信区: JobHunting : 标 题: const_reverse_iterator和reverse_iterator有什么区别? : 发信站: BBS 未名空间站 (Thu Jul 22 15:06:13 2010, 美东) : 这两个iterator有什么区别?似乎这两个还是有细微差别的 : 比如 code1: : vector::reverse_iterator reverseIterator; : for(reverseIterator=integers.rbegin()reverseIterator!=integers.rend();++ : reverseIterator) : cout<<*reverseIterator<<' ';
| d****p 发帖数: 685 | 4 yourVec.rend() may return a reverse_iterator which cannot be compared
against a const_reverse_iterator via operator !=.
【在 h*****g 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: huasing (Menlo Park), 信区: JobHunting : 标 题: const_reverse_iterator和reverse_iterator有什么区别? : 发信站: BBS 未名空间站 (Thu Jul 22 15:06:13 2010, 美东) : 这两个iterator有什么区别?似乎这两个还是有细微差别的 : 比如 code1: : vector::reverse_iterator reverseIterator; : for(reverseIterator=integers.rbegin()reverseIterator!=integers.rend();++ : reverseIterator) : cout<<*reverseIterator<<' ';
|
|