C++11. Как работает функция swap(a, b)? Я понимаю, что она меняет

C++11. Как работает функция swap(a, b)? Я разумею, что она меняет значение переменных, но почему в качестве доводов воспринимает не адресок на переменную?

Задать свой вопрос
1 ответ
Ничего себе информация в 5-9 классах. )

В описании std::swap не обозначено, что функция обязана принимать аргумент типа адрес. В доводах есть только ссылка на шаблон. Вы передаете значение по ссылке.

templatelt; class T gt;
void swap( Tamp; a, Tamp; b );
Galina Lebit
Я не очень сообразил. Передаю я swap аргументы a и b, одинаковые 1 и 2. Процедура получила только значения, но не адрес обмениваемых переменных. Как она присвоит им новое значение, если не знает куда?
Алексей Скобялко
Процедур в С++ нет. Всё функции. Вы передаёте значение по ссылке. По ссылке и присвоится новый результат в переданные доводы.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт