hash_multiset::difference_type
注意事項 |
---|
這個 API 已經過時。這個選項是 unordered_multiset Class。 |
提供兩個 Iterator 之間的差別解決同一 hash_multiset 項目的帶正負號的整數型別。
typedef list<typename _Traits::value_type, typename _Traits::allocator_type>::difference_type difference_type;
備註
當減去或將透過容器的 Iterator 時, difference_type 為傳回的型別。 difference_type 通常用來表示項目數範圍 [_First, _Last)。 _FirstIterator ,並 _Last,包括項目指向 _First 和項目範圍,但不包括,,項目指向 _Last。
請注意,雖然 difference_type 為滿足所有 Iterator 可輸入 Iterator,要求包含雙向 Iterator 類別由復原容器支援 (例如集合)。 在兩個 Iterator 之間的減法由隨機存取的容器所提供的隨機存取 Iterator 只支援例如向量或 deque。
在 Visual C++ .NET Pocket PC, <hash_map> 和 <hash_set> 標頭檔 (Header File) 的成員不在 std 命名空間,,而是移至 stdext 命名空間。 如需詳細資訊,請參閱 stdext 命名空間。
範例
// hash_multiset_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_set>
#include <algorithm>
int main( )
{
using namespace std;
using namespace stdext;
hash_multiset <int> hms1;
hash_multiset <int>::iterator hms1_Iter, hms1_bIter, hms1_eIter;
hms1.insert( 20 );
hms1.insert( 10 );
// hash_multiset elements need not be unique
hms1.insert( 20 );
hms1_bIter = hms1.begin( );
hms1_eIter = hms1.end( );
hash_multiset <int>::difference_type df_typ5, df_typ10,
df_typ20;
df_typ5 = count( hms1_bIter, hms1_eIter, 5 );
df_typ10 = count( hms1_bIter, hms1_eIter, 10 );
df_typ20 = count( hms1_bIter, hms1_eIter, 20 );
// The keys & hence the elements of a hash_multiset
// need not be unique and may occur multiple times
cout << "The number '5' occurs " << df_typ5
<< " times in hash_multiset hms1.\n";
cout << "The number '10' occurs " << df_typ10
<< " times in hash_multiset hms1.\n";
cout << "The number '20' occurs " << df_typ20
<< " times in hash_multiset hms1.\n";
// Count the number of elements in a hash_multiset
hash_multiset <int>::difference_type df_count = 0;
hms1_Iter = hms1.begin( );
while ( hms1_Iter != hms1_eIter)
{
df_count++;
hms1_Iter++;
}
cout << "The number of elements in the hash_multiset hms1 is "
<< df_count << "." << endl;
}
需求
標題: <hash_set>
命名空間: stdext