multimap::difference_type
可用来表示一 multimap 元素的数目。一范围元素间的有符号整数类型指向的迭代器。
typedef typename allocator_type::difference_type difference_type;
备注
在减去或增长。容器的迭代器,则 difference_type 是返回的类型。 difference_type 通常用于表示元素数处于范围 [_First, _Last) 在迭代器 _First 和 _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