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


hash_multiset::difference_type

Примечание

Этот API устарел.Альтернативой является Класс unordered_multiset.

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

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 C, элементы файла заголовка <hash_map> и <hash_set> больше не в пространстве имен 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

См. также

Ссылки

Класс hash_multiset

Библиотека стандартных шаблонов