Виступаючий 1: Виявляється, ми можемо успішно поміняти значення в двох змінні шляхом передачі їх в функціонувати не за значенням чи за копії, але за посиланням або за їх адресами. Іншими словами, ми повинні використовувати щось відомо як покажчик. Покажчик, дійсно, це тільки адреса деякої змінної. І тому, якщо ми надаємо функцію з ім'ям, скажімо, поміняти з адресою змінна а також адресу іншої змінна, своп повинен бути уповноважений йти до кожного з цих адрес а насправді змінити значення, які існують. Давайте розглянемо це в контексті. Давайте перевизначити своп таким чином. По-перше, давайте змінимо же не бути внутр але бути дороговказом на междунар або адресу в міжнар. Тоді давайте зробимо те ж саме для B, змінюючи це від междунар бути дороговказом на Int або адресу в міжнар. Тоді всередині свопу, давайте ще оголосити TMP так що ми маємо тимчасове місце для значення х років. Але'S значення не є сам по собі, так, Знову ж, в даний час є адреса деякого міжнар. Так що, якщо ми хочемо йти за цією адресою і отримати Int за цією адресою, у нас є разименовать цього покажчика, і шляхом зірка оператор, писати зірці. Далі, я не хочу, щоб змінити значення. Я хочу, щоб змінити значення на , Маючи на увазі, знову ж таки, що це адресу. Таким чином, щоб зробити це, я знову потрібно сказати зірка отримує. А тепер я хочу, щоб покласти у вартості ось на б, що не значення Ь, які також є адресою. Отже, ще раз кажу, нічліг. Тоді в моїй останній рядку, мені потрібно переписати те, що за адресою б з те, що було в оригінальному розташуванні в. Щоб зробити це, я зірка б отримує TMP. Тепер в кінці дня, це функція як і раніше просто три рядки коду. Але тому що це маніпулювання значення шляхом їх адресу, а не сирі значення, які були передані в Функція, я стверджую, що своп тепер уповноважені змінювати значення, які передаються в через їх адреси. Але мені потрібно зробити одна зміна все ще. Я більше не може пройти в х і у самих себе. Мені потрібно пройти в адресах х і у. А для цього, мені потрібно деякі трохи інші позначення нагорі. Я хочу, щоб поміняти х і у, передаючи адреса х, позначається амперсанд х, а також адресу у, позначається амперсанд у. Точно так же, нагорі тепер мені потрібно змінити прототип функції, щоб відповідати зміна, яке я зробив, так що , Знову ж, це покажчик на междунар. б, знову ж, це покажчик на междунар. І тепер я можу врятувати мій файл. І давайте перекомпілювати і запустити його. Зробити своп точка слеш своп. І на цей раз, х і у дійсно зараз місцями так, що їх значення не 1 і 2, але 2 і 1.