Freigeben über


multiset::upper_bound

Gibt ein Iterator zum ersten Element in einem Multiset mit einem Schlüssel, die größer ist, als ein bestimmter Schlüssel zurück.

const_iterator upper_bound( 
   const Key& _Key 
) const; 
iterator upper_bound( 
   const Key& _Key 
);

Parameter

  • _Key
    Der Sortierschlüssel mit dem eines Elements vom Multiset verglichen werden, Argumentschlüssel, das durchsucht wird.

Rückgabewert

Iterator oder const_iterator, das die Position eines Elements in einem Multiset mit einem Schlüssel anspricht, die größer ist, als der Argumentschlüssel oder, die den Speicherort anspricht, der dem letzten Element mit dem Multiset folgt, wenn keine Übereinstimmung für die Schlüssel gefunden wird.

Beispiel

// multiset_upper_bound.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( 30 );

   ms1_RcIter = ms1.upper_bound( 20 );
   cout << "The first element of multiset ms1 with a key greater "
           << "than 20 is: " << *ms1_RcIter << "." << endl;

   ms1_RcIter = ms1.upper_bound( 30 );

   // 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 greater than 30." << endl;
   else
      cout << "The element of multiset ms1 with a key > 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.begin( );
   ms1_RcIter = ms1.upper_bound( *ms1_AcIter );
   cout << "The first element of ms1 with a key greater than"
        << endl << "that of the initial element of ms1 is: "
        << *ms1_RcIter << "." << endl;
}
  

Anforderungen

Header: <set>

Namespace: std

Siehe auch

Referenz

multiset-Klasse

Standardvorlagenbibliothek