Почнемо з функції change (). Викликавши її в рядку 17 вихідного коду, передаємо в неї змінні за значенням. Функція благополучно створить копії цих змінних, запише в них дані і, завершуючи свою "нелегку" роботу, знищить ці копії. У підсумку ніяких змін з переданими змінними не відбудеться.
Наостанок - передача за вказівником. Відразу до визначення changePtr () - рядки 51 - 55. Тут є те, чого ми не використовували при передачі по посиланню - розіменування покажчиків для зміни значень змінних:
Результат роботи програми:
Єдине, що стосується синтаксису, якщо вам знадобиться оголосити посилання в програмі, то її необхідно відразу форматувати (показати для якої змінної вона створена). наприклад:
Так в програмі ми можемо використовувати ім'я посилання для подальшого звернення до даних, які зберігає aaa. Це якщо наприклад хтось до вас написав код і дав назву змінної aaa. Цей програміст знає, що вона зберігає кількість ящиків. А ви, для своєї зручності, дали цієї змінної псевдонім amountOfBoxes і використовуєте це нове ім'я, дописуючи якийсь новий код в програму.
Ну і пару прикладів я б додав.
І ще приклад, є 2 функції:
void foo (int * a);
void bar (int a);
Перша приймає посилання на об'єкт, друга покажчик.
Десь в програмі (наприклад у функції main є об'єкт:
int var = 123;
Всередині першої функції з об'єктом працюють як зазвичай (адже у нас просто є альтернативне ім'я):
void foo (int a)
Посилання - досить неприємне для початківців поняття в C ++ (хоча цілком природне навіть для початківців в Java або Python).
Це неточно за змістом, але відразу дозволяє використовувати посилання в своєму коді без помилок.
Що значить "жоден"? Не розуміють тільки самі тупі ;-) ... інші хоч щось, та розуміють.
Програмування - це взагалі дуже не просте інженерна дисципліна, і пояснювати її "на пальця" неможливо і шкідливо так само, як, наприклад, матаналіз або накреслювальну геометрію.
І освоїти програмування зможуть тільки ті. хто будуть багато і наполегливо практикуватися і самостійно писати код.
P.S. А від навчання на рівні пояснень "двічі два, дітки, виходить іноді чотири, якщо не заперечуєте" - ніхто і нічому не навчиться, виникне тільки ілюзія що "я теж чогось там навчався".