>> Выступающий 1: Оказывается, мы можем успешно поменять значения в двух
переменные путем передачи их в функционировать не по значению или по копии, но
по ссылке или по их адресам.
Другими словами, мы должны использовать что-то известно как указатель.
Указатель, действительно, это только адрес некоторой переменной.
И поэтому, если мы предоставляем функцию с именем, скажем, поменять с адресом
переменная а также адрес другой переменная, своп должен быть уполномочен
идти к каждому из этих адресов а на самом деле изменить
значения, которые существуют.
>> Давайте рассмотрим это в контексте.
Давайте переопределить своп следующим образом.
Во-первых, давайте изменим не быть внутр но быть указателем на междунар или
адрес в междунар.
Тогда давайте сделаем то же самое для B, изменяя это от междунар быть указателем на
Int или адрес в междунар.
>> Тогда внутри свопа, давайте еще объявить TMP так что мы имеем
временное место для значения х годов.
Но'S значение не является сам по себе, так, Опять же, в настоящее время является адрес
некоторого междунар.
Так что, если мы хотим идти по этому адресу и получить Int по этому адресу, у нас есть
разыменовать этого указателя, и путем звезда оператор, писать звезде.
>> Далее, я не хочу, чтобы изменить значение.
Я хочу, чтобы изменить значение на , имея в виду, опять же,
что это адрес.
Таким образом, чтобы сделать это, я снова нужно сказать звезда получает.
А теперь я хочу, чтобы положить в стоимости вот на б, не значение Ь, которые
также является адресом.
>> Итак, еще раз говорю, ночлег.
Тогда в моей последней строке, мне нужно переписать то, что по адресу б с
то, что было в оригинальном расположении в.
Чтобы сделать это, я звезда б получает TMP.
>> Теперь в конце дня, это функция по-прежнему просто
три строки кода.
Но потому что это манипулирование значения путем их адрес, а не
сырые значения, которые были переданы в Функция, я утверждаю, что своп теперь
уполномочены изменять значения, которые передаются в через их адреса.
>> Но мне нужно сделать одно изменение все еще.
Я больше не может пройти в х и у самих себя.
Мне нужно пройти в адресах х и у.
А для этого, мне нужно некоторые немного другие обозначения наверху.
Я хочу, чтобы поменять х и у, передавая адрес х, обозначается
амперсанд х, а также адрес у, обозначается амперсанд у.
>> Точно так же, наверху теперь мне нужно изменить прототип функции, чтобы
соответствовать изменение, которое я сделал, так что , опять же, это указатель на междунар.
б, опять же, это указатель на междунар.
И теперь я могу спасти мой файл.
И давайте перекомпилировать и запустить его.
>> Сделать своп точка слэш своп.
И на этот раз, х и у действительно сейчас местами так, что их значения не
1 и 2, но 2 и 1.