Я знаю, что он делает, но во втором коде он объединяется с *, и я не знаю, что означает эта комбинация
T&
обозначает "ссылку на T
».
Теперь замените T
на что угодно. Например, для указателя на int
, T==int*
у нас есть int*&
, который является ссылкой на указатель на int
.
Он ничем не отличается от передачи не указателей на функции в качестве ссылок. Когда ptr
передается по значению, тогда func
работает с копией, а при передаче по ссылке func
работает с переданным экземпляром.