multiset::difference_type
Multiset 반복기가 가리키는 요소 사이의 범위에서 요소의 개수를 나타내는 데 사용 되는 부호 있는 정수 형식입니다.
typedef typename allocator_type::difference_type difference_type;
설명
difference_type 빼기 또는 컨테이너의 반복기를 증가 하면 형식이 반환 됩니다.difference_type 범위의 요소 수를 나타내는 데 일반적으로 사용 됩니다 [_First, _Last) 반복기 사이의 _First 및 _Last을 가리키는 요소가 포함 _First 및 범위의 요소 수를 포함 하지 않습니다, 요소를 가리키는 _Last.
하지만 이때 difference_type 의 양방향 반복기 집합 반복기 사이의 빼기만 벡터와 같은 임의 액세스 컨테이너에서 제공 하는 임의 액세스 반복기 지원 같은 가역 컨테이너 지원 클래스를 포함 하는 입력된 반복기의 요구 사항을 충족 하는 모든 반복기를 사용할 수 있습니다.
예제
// multiset_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <set>
#include <algorithm>
int main( )
{
using namespace std;
multiset <int> ms1;
multiset <int>::iterator ms1_Iter, ms1_bIter, ms1_eIter;
ms1.insert( 20 );
ms1.insert( 10 );
ms1.insert( 20 );
ms1_bIter = ms1.begin( );
ms1_eIter = ms1.end( );
multiset <int>::difference_type df_typ5, df_typ10, df_typ20;
df_typ5 = count( ms1_bIter, ms1_eIter, 5 );
df_typ10 = count( ms1_bIter, ms1_eIter, 10 );
df_typ20 = count( ms1_bIter, ms1_eIter, 20 );
// The keys, and hence the elements, of a multiset are not unique
cout << "The number '5' occurs " << df_typ5
<< " times in multiset ms1.\n";
cout << "The number '10' occurs " << df_typ10
<< " times in multiset ms1.\n";
cout << "The number '20' occurs " << df_typ20
<< " times in multiset ms1.\n";
// Count the number of elements in a multiset
multiset <int>::difference_type df_count = 0;
ms1_Iter = ms1.begin( );
while ( ms1_Iter != ms1_eIter)
{
df_count++;
ms1_Iter++;
}
cout << "The number of elements in the multiset ms1 is: "
<< df_count << "." << endl;
}
요구 사항
헤더: <set>
네임 스페이스: std