Поделиться через


hash_set::difference_type

ПримечаниеПримечание

Этот API устарел.Альтернативы unordered_set Class.

Тип знакового целого числа, который может использоваться для представления hash_set число элементов в диапазоне между элементами указал к итераторам.

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 доступно для всех итераторов, удовлетворяющего требованиям итератора ввода, который содержит класс двухнаправленных итераторов, поддерживаемые реверзибельными контейнерами как набор, вычитания между итераторами поддерживается только произвольно-доступными итераторами произвольно-доступным указанными контейнером, как вектор или deque.

В Visual C++ .NET 2003 <hash_map> элементы файлов заголовков и <hash_set> больше не находятся в пространстве имен std, но скорее перейти на пространство имен stdext.Дополнительные сведения см. в разделе Пространство имен stdext.

Пример

// hash_set_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_set>
#include <algorithm>

int main( )
{
   using namespace std;
   using namespace stdext;

   hash_set <int> hs1;
   hash_set <int>::iterator hs1_Iter, hs1_bIter, hs1_eIter;

   hs1.insert( 20 );
   hs1.insert( 10 );
   hs1.insert( 20 );   // Won't insert as hash_set elements are unique

   hs1_bIter = hs1.begin( );
   hs1_eIter = hs1.end( );

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

   df_typ5 = count( hs1_bIter, hs1_eIter, 5 );
   df_typ10 = count( hs1_bIter, hs1_eIter, 10 );
   df_typ20 = count( hs1_bIter, hs1_eIter, 20 );

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

   // Count the number of elements in a hash_set
   hash_set <int>::difference_type  df_count = 0;
   hs1_Iter = hs1.begin( );
   while ( hs1_Iter != hs1_eIter)
   {
      df_count++;
      hs1_Iter++;
   }

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

Требования

заголовок: <hash_set>

Stdext пространство имен:

См. также

Ссылки

hash_set Class

Стандартная библиотека шаблонов