다음을 통해 공유


set::difference_type

반복기가 가리키는 요소 사이의 범위 집합의 요소 수를 나타내는 데 사용 되는 부호 있는 정수 형식입니다.

typedef typename allocator_type::difference_type difference_type;

설명

difference_type 빼기 또는 컨테이너의 반복기를 증가 하면 형식이 반환 됩니다.difference_type 범위의 요소 수를 나타내는 데 일반적으로 사용 [_First, _Last) 반복기 사이의 _First 및 _Last을 가리키는 요소가 포함 _First 및 범위의 요소 수를 포함 하지 않습니다, 요소를 가리키는 _Last.

하지만 이때 difference_type 클래스의 집합 반복기 사이의 빼기만 벡터와 같은 임의 액세스 컨테이너에서 제공 하는 임의 액세스 반복기 지와 같이 해독 가능한 컨테이너에서 지원 되는 양방향 반복기를 포함 하는 입력된 반복기의 요구 사항을 충족 하는 모든 반복기를 사용할 수 있습니다.

예제

// set_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <set>
#include <algorithm>

int main( )
{
   using namespace std;

   set <int> s1;
   set <int>::iterator s1_Iter, s1_bIter, s1_eIter;

   s1.insert( 20 );
   s1.insert( 10 );
   s1.insert( 20 );   // won't insert as set elements are unique

   s1_bIter = s1.begin( );
   s1_eIter = s1.end( );

   set <int>::difference_type   df_typ5, df_typ10, df_typ20;

   df_typ5 = count( s1_bIter, s1_eIter, 5 );
   df_typ10 = count( s1_bIter, s1_eIter, 10 );
   df_typ20 = count( s1_bIter, s1_eIter, 20 );

   // the keys, and hence the elements of a set are unique,
   // so there is at most one of a given value
   cout << "The number '5' occurs " << df_typ5
        << " times in set s1.\n";
   cout << "The number '10' occurs " << df_typ10
        << " times in set s1.\n";
   cout << "The number '20' occurs " << df_typ20
        << " times in set s1.\n";

   // count the number of elements in a set
   set <int>::difference_type  df_count = 0;
   s1_Iter = s1.begin( );
   while ( s1_Iter != s1_eIter)   
   {
      df_count++;
      s1_Iter++;
   }

   cout << "The number of elements in the set s1 is: " 
        << df_count << "." << endl;
}
  
  
  
  

요구 사항

헤더: <set>

네임 스페이스: std

참고 항목

참조

set Class

표준 템플릿 라이브러리