Рассмотрим объект foo
(который может быть int
, a double
, пользовательский struct
, a class
, что угодно). Я понимаю, что передача foo
ссылкой на функцию (или просто передача указателя на foo
) приводит к повышению производительности, поскольку мы избегаем создания локальной копии (что может быть дорого, если foo
велико).
Однако, из ответа здесь кажется, что указатели на 64-битной системе можно ожидать на практике иметь размер 8 байтов, независимо от того, что заостренный. В моей системе float
- 4 байта. Означает ли это, что если foo
имеет тип float
, то эффективнее просто передать foo
по значению, а не указывать на него указатель (не предполагая никаких других ограничений, которые могли бы сделать используя еще одну эффективную, чем другая внутри функции)?