set::swap, set::begin, a set::end
Znázorňuje použití set::swap, set::begin, and set::end funkce standardní šablonu knihovny (STL) v jazyce C++.
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;
}
Poznámky
[!POZNÁMKA]
Názvy tříd/parametr v prototyp verze v záhlaví souboru neodpovídají.Některé byly upraveny, aby se zlepšila čitelnost.
swap Funkce swapy dvě řízené sekvence.Začít vrátí funkce iterační obousměrných že bodů na první prvek sekvence.End vrátí funkce iterační obousměrných dané body pouze za koncem sekvence.
Příklad
// 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;
}
Výsledek
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.
Požadavky
Záhlaví: <set>