Яка різниця між передачею за значенням і передачею за посиланням A рівня?

Передача за посиланням: коли викликається метод, аргументи методу посилаються на ту саму змінну в пам’яті, що й виклик. Передача за значенням: коли викликається метод, абонент, що викликає, передає методу копію змінних аргументів, що призводить до двох значень у пам’яті. 12 липня 2022 р.

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

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

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

Віддаю перевагу передавати значення для об’єктів, які дешево копіювати, і передати константне посилання для об’єктів, які дорого копіювати. Якщо ви не впевнені, дешево чи дорого копіювати об’єкт, віддайте перевагу передачі за посиланням const.

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

Оцініть статтю