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


map::difference_type

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

typedef allocator_type::difference_type difference_type;

Заметки

difference_type возвращаемый тип вычитая или увеличение через итераторы контейнера. difference_type обычно используется для представления число элементов в диапазоне [_First, _Last) между итераторами _First и _Last, содержит указанный элемент в _First и диапазон элементов до, но не включая элемент, указанный в _Last.

Обратите внимание, что difference_type доступно для всех итераторов, которые удовлетворяют требованиям итератора ввода, который содержит класс двунаправленных итераторов до реверзибельными контейнерами, такие как набор вычитания между итераторами поддерживается только произвольно-доступными итераторами доступными произвольно-доступным контейнером, например вектор.

Пример

// map_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <map>
#include <algorithm>

int main( )
{
   using namespace std;
   map <int, int> m1;
   typedef pair <int, int> Int_Pair;

   m1.insert ( Int_Pair ( 2, 20 ) );
   m1.insert ( Int_Pair ( 1, 10 ) );
   m1.insert ( Int_Pair ( 3, 20 ) );
   m1.insert ( Int_Pair ( 2, 30 ) );

   map <int, int>::iterator m1_Iter, m1_bIter, m1_eIter;
   m1_bIter = m1.begin( );
   m1_eIter = m1.end( );

   // Count the number of elements in a map
   map <int, int>::difference_type  df_count = 1;
   m1_Iter = m1.begin( );
   while ( m1_Iter != m1_eIter)
   {
      df_count++;
      m1_Iter++;
   }

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

Требования

Заголовок:<map>

Пространство имен: std

См. также

Ссылки

Класс map

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