set::swap, set::begin, и set::end
Демонстрируется использование набор:: обмен,набор:: begin, andнабор:: end Стандартные функции библиотеки стандартных шаблонов (STL) в Visual 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;
}
Заметки
Примечание |
---|
Имена класса и параметра в прототипе не соответствует версии в файле заголовка.Некоторые были изменены для улучшения удобочитаемости. |
swap функция передает 2 контролируемых последовательности. Begin функция получает двунаправленный итератор, который указывает на первом элементе последовательности. End функция получает двунаправленный итератор, который указывает конец последовательности.
Пример
// 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.
Требования
заголовок:<установка>