list::rend
逆順のリストの最後の要素の次の場所を指定する反復子を返します。
const_reverse_iterator rend( ) const;
reverse_iterator rend( );
戻り値
逆順のリスト (通常リストの最初の要素の前) に成功したする最後の要素の位置をアドレス逆の双方向場所を反復子。
解説
rend は逆順のリストと 終了 がリストで使用するように使用されます。
rend の戻り値が const_reverse_iteratorに割り当てられている場合、リスト オブジェクトは変更できません。rend の戻り値が reverse_iteratorに割り当てられている場合、リスト オブジェクトは変更できます。
反転反復子がリストの末尾に到達したかどうかをテストするためにrend を使用できます。
rend によって返された値は逆参照しないでください。
使用例
// list_rend.cpp
// compile with: /EHsc
#include <list>
#include <iostream>
int main( )
{
using namespace std;
list <int> c1;
list <int>::iterator c1_Iter;
list <int>::reverse_iterator c1_rIter;
// If the following line had replaced the line above, an error would
// have resulted in the line modifying an element (commented below)
// because the iterator would have been const
// list <int>::const_reverse_iterator c1_rIter;
c1.push_back( 10 );
c1.push_back( 20 );
c1.push_back( 30 );
c1_rIter = c1.rend( );
c1_rIter --; // Decrementing a reverse iterator moves it forward in
// the list (to point to the first element here)
cout << "The first element in the list is: " << *c1_rIter << endl;
cout << "The list is:";
for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
cout << " " << *c1_Iter;
cout << endl;
// rend can be used to test if an iteration is through all of the
// elements of a reversed list
cout << "The reversed list is:";
for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
cout << " " << *c1_rIter;
cout << endl;
c1_rIter = c1.rend( );
c1_rIter--; // Decrementing the reverse iterator moves it backward
// in the reversed list (to the last element here)
*c1_rIter = 40; // This modification of the last element would have
// caused an error if a const_reverse iterator had
// been declared (as noted above)
cout << "The modified reversed list is:";
for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
cout << " " << *c1_rIter;
cout << endl;
}
必要条件
ヘッダー: <list>
名前空間: std