hash_map::difference_type
[!참고]
이 API는 사용되지 않습니다.대신 unordered_map Class.
반복기가 가리키는 요소 사이의 범위에 있는 hash_map의 요소 수를 나타내는 데 사용할 수 있는 부호 있는 정수 형식입니다.
typedef list<typename _Traits::value_type, typename _Traits::allocator_type>::difference_type difference_type;
주석 처리
difference_type 빼서 또는 증가 통해 반복기는 컨테이너의 경우는 형식이 반환 됩니다.difference_type 범위에 있는 요소의 개수를 나타내는 데 일반적으로 사용 됩니다 [_First, _Last) 반복기 사이의 _First 및 _Last, 포인터가 가리키는 요소가 포함 _First 및 범위 위로 제외한 요소 요소에서 가리키는 _Last.
참고 있지만 difference_type 집합 반복기 사이의 뺄셈만 벡터 같은 임의 액세스 컨테이너에서 제공 하는 임의 액세스 반복기에서 지와 같이 해독 가능한 컨테이너에 의해 지원 되는 양방향 반복기의 클래스를 포함 하는 입력된 반복기의 요구 사항을 충족 하는 모든 반복기를 사용할 수 있습니다.
Visual C++.NET 2003 멤버는 <hash_map> 및 <hash_set> 헤더 파일이 더 이상 std 네임 스페이스에 있지만 오히려 stdext 네임 스페이스로 이동 되었습니다.자세한 내용은 stdext 네임스페이스를 참조하십시오.
예제
// hash_map_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_map>
#include <algorithm>
int main( )
{
using namespace std;
using namespace stdext;
hash_map <int, int> hm1;
typedef pair <int, int> Int_Pair;
hm1.insert ( Int_Pair ( 2, 20 ) );
hm1.insert ( Int_Pair ( 1, 10 ) );
hm1.insert ( Int_Pair ( 3, 20 ) );
// The following won't insert, because map keys are unique
hm1.insert ( Int_Pair ( 2, 30 ) );
hash_map <int, int>::iterator hm1_Iter, hm1_bIter, hm1_eIter;
hm1_bIter = hm1.begin( );
hm1_eIter = hm1.end( );
// Count the number of elements in a hash_map
hash_map <int, int>::difference_type df_count = 0;
hm1_Iter = hm1.begin( );
while ( hm1_Iter != hm1_eIter)
{
df_count++;
hm1_Iter++;
}
cout << "The number of elements in the hash_map hm1 is: "
<< df_count << "." << endl;
cout << "The keys of the mapped elements are:";
for ( hm1_Iter= hm1.begin( ) ; hm1_Iter!= hm1.end( ) ;
hm1_Iter++)
cout << " " << hm1_Iter-> first;
cout << "." << endl;
cout << "The values of the mapped elements are:";
for ( hm1_Iter= hm1.begin( ) ; hm1_Iter!= hm1.end( ) ;
hm1_Iter++)
cout << " " << hm1_Iter-> second;
cout << "." << endl;
}
요구 사항
헤더: <hash_map>
네임 스페이스: stdext