algorithm - STL C++

swap()

Declaration

template <class X>
void swap(
	X& xrItem1,
	X& xrItem2
);

Description

This function swaps the values of the two elements "xrItem1" and "xrItem2." The overloaded version swaps arrays of elements.

Header Include

#include <algorithm>

Overloads

template <class X, size_t N>
void swap(
	X (&xraItem1)[n],
	X (&xraItem2)[N]
);

Example

#include <iostream>
#include <algorithm>

int main()
{
	using namespace std;

	// Create two vector instances
	vector<char> qV1;
	qV1.push_back('X');
	qV1.push_back('o');
	qV1.push_back('a');
	qV1.push_back('X');
	qV1.push_back('.');
	qV1.push_back('n');
	qV1.push_back('e');
	qV1.push_back('t');

	vector<char> qV2;
	qV2.push_back('C');
	qV2.push_back('+');
	qV2.push_back('+');

	vector<char>::iterator qIter;
	// Output the vectors
	cout << "V1: ";
	for (qIter = qV1.begin(); qIter != qV1.end(); ++qIter) {
		cout << *qIter;
	}
	cout << endl;
	cout << "V2: ";
	for (qIter = qV2.begin(); qIter != qV2.end(); ++qIter) {
		cout << *qIter;
	}
	cout << endl;

	cout << "Swap" << endl;
	// Swap the vectors
	swap(qV1, qV2);

	// Output the vectors after the swap
	cout << "V1: ";
	for (qIter = qV1.begin(); qIter != qV1.end(); ++qIter) {
		cout << *qIter;
	}
	cout << endl;
	cout << "V2: ";
	for (qIter = qV2.begin(); qIter != qV2.end(); ++qIter) {
		cout << *qIter;
	}
	cout << endl;

	// Keep the window open
	cin.get();
	return 0;
}

Output

swap() Output
 

© 2007–2024 XoaX.net LLC. All rights reserved.