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


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

См. также

Ссылки

Класс multiset

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