Ясно же, что самый простой и безопасный способ это ввести временную переменную того же типа и "перебросить" данные через нее:
void swap(int& x, int& y)
{
int m = x;
x = y;
y = m;
}
Собственно, тоже самое:
template <typename T>Вот и без временной переменной:
void swap(T& x, T& y)
{
T m;
m = x;
x = y;
y = m;
}
void swap(int& x, int& y)А тут еще и XOR:
{
x = x + y;
y = x - y;
x = x - y;
}
void swap(int& x, int& y)
{
x ^= y ^= x ^= y;
}
No comments:
Post a Comment