set::swap, set::begin, und set::end
Veranschaulicht, wie die Features,Auf::Starten, andAuf::Fertig stellenAuf::AustauschStandardvorlagenbibliothek (STL) in Visual C++ verwendet.
template<class _K, class _Pr, class _A>
class set
{
public:
// Function 1:
void swap(_Myt& _X);
// Function 2:
friend void swap(_Myt& _X, _Myt& _Y);
// Function 3:
const_iterator begin( ) const;
// Function 4:
const_iterator end( ) const;
}
Hinweise
Hinweis |
---|
Die Klasse/Parameternamen im Prototyp stimmen nicht mit der Version in der Headerdatei ab.Einige wurden geändert, um die Lesbarkeit zu verbessern. |
Die Funktion swap lagert die beiden gesteuerten Sequenzen aus.Die Funktion gibt einen begin bidirektionaler Iterator zurück, der dem ersten Element der Sequenz verweist.Die Funktion gibt einen end bidirektionaler Iterator zurück, die derzeit hinter dem Ende der Sequenz hinaus zeigt.
Beispiel
// SetSwapBeginEnd.cpp
// compile with: /EHsc
//
// Illustrates how to use the swap function to exchange the two
// controlled sequences. It also illustrates how to use the
// begin function to get a bidirectional iterator that points at
// the first element of the controlled sequence. Finally, it
// illustrates how to use the end function to get a bidirectional
// iterator that points just beyond the end of the controlled
// sequence.
//
// Functions:
//
// swap Exchanges the two controlled sequences.
// begin Returns a bidirectional iterator that points at the
// first element of the controlled sequence.
// end Returns a bidirectional iterator that points just
// beyond the end of the controlled sequence.
//
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
using namespace std ;
typedef set<int> SET_INT;
int main() {
SET_INT s1;
SET_INT s2;
SET_INT::iterator i;
cout << "s1.insert(5)" << endl;
s1.insert(5);
cout << "s1.insert(10)" << endl;
s1.insert(10);
cout << "s1.insert(15)" << endl;
s1.insert(15);
cout << "s2.insert(2)" << endl;
s2.insert(2);
cout << "s2.insert(4)" << endl;
s2.insert(4);
cout << "swap(s1,s2)" << endl;
swap(s1,s2);
// Displays: 2,4
for (i=s1.begin();i!=s1.end();i++)
cout << "s1 has " << *i << " in its set." << endl;
// Displays: 5,10,15
for (i=s2.begin();i!=s2.end();i++)
cout << "s2 has " << *i << " in its set." << endl;
cout << "s1.swap(s2)" << endl;
s1.swap(s2);
// Displays: 5,10,15
for (i=s1.begin();i!=s1.end();i++)
cout << "s1 has " << *i << " in its set." << endl;
// Displays: 2,4
for (i=s2.begin();i!=s2.end();i++)
cout << "s2 has " << *i << " in its set." << endl;
}
Output
s1.insert(5)
s1.insert(10)
s1.insert(15)
s2.insert(2)
s2.insert(4)
swap(s1,s2)
s1 has 2 in its set.
s1 has 4 in its set.
s2 has 5 in its set.
s2 has 10 in its set.
s2 has 15 in its set.
s1.swap(s2)
s1 has 5 in its set.
s1 has 10 in its set.
s1 has 15 in its set.
s2 has 2 in its set.
s2 has 4 in its set.
Anforderungen
Header: <set>