次の方法で共有


multimap::difference_type

要素間の範囲の multimap の要素数を表すことができる符号付き整数型は、反復子が指す。

typedef typename allocator_type::difference_type difference_type;

解説

difference_type はコンテナーの反復子で減算、乗算して返される型です。difference_type は、通常、反復子範囲 [ _First 間の*_First、_Last*内の要素数を表すために使用され、_Lastは、_First で、要素のスコープは、で指定された点まで、要素 _Lastが指す要素が含まれます。

difference_type がベクターのようなランダム アクセス コンテナーによって提供されるランダム アクセス反復子によってのみ設定など、元のコンテナーと、双方向の反復子クラスをサポートしていた含む、入力反復子の条件を満たすすべての反復子、反復子の間の減算で使用可能ですがサポートされていることに注意してください。

使用例

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

int main( )
{
   using namespace std;
   multimap <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 ) );

   // The following will insert as multimap keys are not unique
   m1.insert ( Int_Pair ( 2, 30 ) );   

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

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

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

必要条件

ヘッダー: <map>

名前空間: std

参照

関連項目

multimap Class

標準テンプレート ライブラリ