list::difference_type
可用于表示列表中迭代器所指向元素之间元素数目的有符号整数类型。
typedef typename Allocator::difference_type difference_type;
备注
difference_type 是通过容器迭代器减少或递增时返回的类型。 difference_type 通常用于表示迭代器 _First 和 _Last 之间的范围(_First,_Last)内元素的数目,包括 _First 指向的元素以及那一系列元素,但不包括 _Last 指向的元素。
注意,尽管 difference_type 适用于满足输入迭代器(包括可逆容器支持的双向迭代器的类,如集)要求的所有迭代器,迭代器之间的减法仅受随机访问容器(如 vector 类)提供的随机访问迭代器支持。
示例
// list_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <list>
#include <algorithm>
int main( )
{
using namespace std;
list <int> c1;
list <int>::iterator c1_Iter, c2_Iter;
c1.push_back( 30 );
c1.push_back( 20 );
c1.push_back( 30 );
c1.push_back( 10 );
c1.push_back( 30 );
c1.push_back( 20 );
c1_Iter = c1.begin( );
c2_Iter = c1.end( );
list <int>::difference_type df_typ1, df_typ2, df_typ3;
df_typ1 = count( c1_Iter, c2_Iter, 10 );
df_typ2 = count( c1_Iter, c2_Iter, 20 );
df_typ3 = count( c1_Iter, c2_Iter, 30 );
cout << "The number '10' is in c1 collection " << df_typ1 << " times.\n";
cout << "The number '20' is in c1 collection " << df_typ2 << " times.\n";
cout << "The number '30' is in c1 collection " << df_typ3 << " times.\n";
}
要求
标头:<list>
命名空间: std