备注
此 API 已过时。替代为 unordered_multiset 类。
返回最后一个元素成功解决的位置处于已撤消的 hash_multiset 的迭代器。
const_reverse_iterator rend( ) const;
reverse_iterator rend( );
返回值
最后一个元素成功解决的位置处于已撤消的 hash_multiset 的双向反向迭代器 (在前面 unreversed hash_multiset 的第一个元素) 的位置。
备注
结束时间 正使用 hash_multiset,rend 使用的反转 hash_multiset。
如果返回值 rend 为 const_reverse_iterator,则不能修改 hash_multiset 对象。 如果返回值 rend 为 reverse_iterator,则可以修改 hash_multiset 对象。 不应取消rend 返回的值。
rend 可用于测试对进行反向迭代器是否到达其 hash_multiset 的末尾。
在Visual C++ .NET 2003中,成员<hash_map> 和 <hash_set> 头文件不再在std命名空间,而是已经进入了stdext命名空间。 有关更多信息,请参见 stdext 命名空间。
示例
// hash_multiset_rend.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>
int main( )
{
using namespace std;
using namespace stdext;
hash_multiset <int> hms1;
hash_multiset <int>::iterator hms1_Iter;
hash_multiset <int>::reverse_iterator hms1_rIter;
hash_multiset <int>::const_reverse_iterator hms1_crIter;
hms1.insert( 10 );
hms1.insert( 20 );
hms1.insert( 30 );
hms1_rIter = hms1.rend( );
hms1_rIter--;
cout << "The last element in the reversed hash_multiset is "
<< *hms1_rIter << "." << endl;
// end can be used to terminate an iteration
// through a hash_multiset in a forward order
cout << "The hash_multiset is: ";
for ( hms1_Iter = hms1.begin( ) ; hms1_Iter != hms1.end( );
hms1_Iter++ )
cout << *hms1_Iter << " ";
cout << "." << endl;
// rend can be used to terminate an iteration
// throught a hash_multiset in a reverse order
cout << "The reversed hash_multiset is: ";
for ( hms1_rIter = hms1.rbegin( ) ; hms1_rIter != hms1.rend( );
hms1_rIter++ )
cout << *hms1_rIter << " ";
cout << "." << endl;
hms1_rIter = hms1.rend( );
hms1_rIter--;
hms1.erase ( *hms1_rIter );
hms1_rIter = hms1.rend( );
hms1_rIter--;
cout << "After the erasure, the last element in the "
<< "reversed hash_multiset is " << *hms1_rIter << "."
<< endl;
}
要求
Header: <hash_set>
**命名空间:**stdext