multiset::find
傳回處理一個項目的Iterator的位置在第一個有索引鍵等於指定之索引鍵的多重集(Multiset)的。
iterator find(
const Key& _Key
);
const_iterator find(
const Key& _Key
) const;
參數
- _Key
項目的排序鍵會符合的索引鍵會從搜尋的多重集的。
傳回值
iterator 或 const_iterator 處理一個項目的第一個位置使用的特定索引鍵或成功最後一個項目的位置在多重集,如果符合沒有索引鍵中找到。
備註
成員函式來傳回處理已在多重集的項目排序鍵與引數的索引鍵就等於在一個二進位述詞下比可比性關聯會根據的排程較少的Iterator。
如果 find 的傳回值指派給 const_iterator,無法修改多重集物件。 如果 find 的傳回值指派給 iterator,可以修改多重集物件。
範例
// multiset_find.cpp
// compile with: /EHsc
#include <set>
#include <iostream>
int main( )
{
using namespace std;
multiset <int> ms1;
multiset <int> :: const_iterator ms1_AcIter, ms1_RcIter;
ms1.insert( 10 );
ms1.insert( 20 );
ms1.insert( 20 );
ms1_RcIter = ms1.find( 20 );
cout << "The first element of multiset ms1 with a key of 20 is: "
<< *ms1_RcIter << "." << endl;
ms1_RcIter = ms1.find( 40 );
// If no match is found for the key, end( ) is returned
if ( ms1_RcIter == ms1.end( ) )
cout << "The multiset ms1 doesn't have an element "
<< "with a key of 40." << endl;
else
cout << "The element of multiset ms1 with a key of 40 is: "
<< *ms1_RcIter << "." << endl;
// The element at a specific location in the multiset can be
// found using a dereferenced iterator addressing the location
ms1_AcIter = ms1.end( );
ms1_AcIter--;
ms1_RcIter = ms1.find( *ms1_AcIter );
cout << "The first element of ms1 with a key matching" << endl
<< "that of the last element is: "
<< *ms1_RcIter << "." << endl;
// Note that the first element with a key equal to
// the key of the last element is not the last element
if ( ms1_RcIter == --ms1.end( ) )
cout << "This is the last element of multiset ms1."
<< endl;
else
cout << "This is not the last element of multiset ms1."
<< endl;
}
需求
標題: <set>
命名空間: std