multimap::lower_bound
Gibt ein Iterator zum ersten Element in einer Multimap zurück, die mit einem Schlüssel, die größer oder gleich dem ein bestimmter Schlüssel.
iterator lower_bound(
const Key& _Key
);
const_iterator lower_bound(
const Key& _Key
) const;
Parameter
- _Key
Der Sortierschlüssel mit dem eines Elements aus der Multimap verglichen werden, Argumentschlüssel, die gesucht wird.
Rückgabewert
Ein Iterator oder const_iterator, der die Position eines Elements in einer Multimap abweicht, die mit einem Schlüssel ist, die größer oder gleich der Argumentschlüssel oder, die den Speicherort anspricht, der dem letzten Element mit der Multimap folgt, wenn keine Übereinstimmung für die Schlüssel gefunden wird.
Wenn const_iterator der Rückgabewert von lower_bound zugewiesen ist, kann das multimap-Objekt nicht geändert werden. Wenn Iterator der Rückgabewert von lower_bound zugewiesen ist, kann das multimap-Objekt geändert werden.
Beispiel
// multimap_lower_bound.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
int main( )
{
using namespace std;
multimap <int, int> m1;
multimap <int, int> :: const_iterator m1_AcIter, m1_RcIter;
typedef pair <int, int> Int_Pair;
m1.insert ( Int_Pair ( 1, 10 ) );
m1.insert ( Int_Pair ( 2, 20 ) );
m1.insert ( Int_Pair ( 3, 20 ) );
m1.insert ( Int_Pair ( 3, 30 ) );
m1_RcIter = m1.lower_bound( 2 );
cout << "The element of multimap m1 with a key of 2 is: "
<< m1_RcIter -> second << "." << endl;
m1_RcIter = m1.lower_bound( 3 );
cout << "The first element of multimap m1 with a key of 3 is: "
<< m1_RcIter -> second << "." << endl;
// If no match is found for the key, end( ) is returned
m1_RcIter = m1.lower_bound( 4 );
if ( m1_RcIter == m1.end( ) )
cout << "The multimap m1 doesn't have an element "
<< "with a key of 4." << endl;
else
cout << "The element of multimap m1 with a key of 4 is: "
<< m1_RcIter -> second << "." << endl;
// The element at a specific location in the multimap can be
// found using a dereferenced iterator addressing the location
m1_AcIter = m1.end( );
m1_AcIter--;
m1_RcIter = m1.lower_bound( m1_AcIter -> first );
cout << "The first element of m1 with a key matching\n"
<< "that of the last element is: "
<< m1_RcIter -> second << "." << endl;
// Note that the first element with a key equal to
// the key of the last element is not the last element
if ( m1_RcIter == --m1.end( ) )
cout << "This is the last element of multimap m1."
<< endl;
else
cout << "This is not the last element of multimap m1."
<< endl;
}
Anforderungen
Header: <map>
Namespace: std