Позвоните по значению, ссылке и имени

Возможный дубликат:
Передача по ссылке / значению в C ++

Мне было интересно, в чем разница между вызовом по значению / ссылке / имени. И почему было бы выгодно использовать один над другим?

0

Решение

вызов по значению: копия параметров передается в функцию

Вызовите ссылку: дополнительная копия не создается, переменная вызывающей стороны передается напрямую.

Основным отличием является то, что одна дополнительная ненужная копия создается в парадигме вызова по значению … Вы всегда должны использовать ссылку call be (или ссылку const), если вызываемый объект не нуждается в изменении переменной, и вы не хотите, чтобы изменения в переменной вашего вызывающего …

1

Другие решения

Вызов по значению создает копию аргумента, который передается функции — так для большого объекта, который может создать большие накладные расходы. Это также останавливает внесение каких-либо изменений в аргумент внутри функции, поскольку они будут отражены только в копии. Вызов по ссылке передает ссылку на объект, и поэтому в этот объект могут быть внесены изменения — если, конечно, вы не пройдете мимо const ссылка.

0