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