swap, is there bug ?

и задачки для интервью.
User avatar
Andreech
Уже с Приветом
Posts: 281
Joined: 25 Apr 2001 09:01
Location: Almaty, Kazakhstan

swap, is there bug ?

Post by Andreech »

Привет, есть ли тут ошибка ?
Будет ли всё работать правильно ?

/*******************/

#include <iostream>
using namespace std;

int main()
{
int a = 1;
int b = 0;

cout<<"A : "<< a <<" B : "<< b << endl;

swap(a,b);

cout<<"A : "<< a <<" B : "<< b << endl;

return 0;
}

/*******************/

Привет.
Token
Уже с Приветом
Posts: 356
Joined: 25 Jul 2001 09:01
Location: USA

swap, is there bug ?

Post by Token »

Если вы хотите поменять значения 2х переменных то будет работать правильно и ошибки нет.
User avatar
Andreech
Уже с Приветом
Posts: 281
Joined: 25 Apr 2001 09:01
Location: Almaty, Kazakhstan

swap, is there bug ?

Post by Andreech »

Реализация функции должна быть такая :

template<class T> void swap(T & a, T & b)
{
T tmp = a;
a = b;
b = tmp;
}

Так как, со строками обмен тоже происходит без ошибок.

Без 3-ей переменной не обойтись, если нужно поменять строки ?!?!

Привет.

Return to “Головоломки”