Чому ми використовуємо передачу за посиланням у C++?

Використовуйте передачу за посиланням якщо ви хочете змінити значення аргументу у функції, що викликає. В іншому випадку використовуйте передачу за значенням для передачі аргументів. Різниця між передачею за посиланням і передачею за вказівником полягає в тому, що покажчики можуть бути NULL або перепризначатися, тоді як посилання не можуть.

У передачі за посиланням (також називається передача за адресою) зберігається копія адреси фактичного параметра. Використовуйте передачу за посиланням коли ви змінюєте параметр, переданий клієнтською програмою.

Переваги використання техніки виклику за посиланням для передачі аргументів включають:

  • Оскільки аргументи не копіюються в нові змінні, це забезпечує більшу ефективність часу та простору.
  • Функція може змінювати значення аргументу, і ця зміна відображається у функції, що викликає.

Основним використанням посилань є діючи як формальні параметри функції для підтримки передачі за посиланням. Якщо посилання на змінну передається у функцію, функція працює з оригінальною копією (замість клонованої копії в передачі за значенням). Зміни всередині функції відображаються поза нею.

3.1: Передача параметрів класу за посиланням Для рядків передача за посиланням майже в 30 разів швидша! Для класу растрового зображення це в тисячі разів швидше. Дивно, що передача складного об’єкта за посиланням майже на 40% швидша, ніж передача за значенням.

Передача посилань є більш ефективний, ніж передача за значенням, оскільки він не копіює аргументи. Формальний параметр є псевдонімом для аргументу. Коли викликана функція читає або записує формальний параметр, вона фактично читає або записує сам аргумент.