Здесь нет «ссылки на функцию». Первый &
является частью возвращаемого типа.
ostream& print(ostream& os, const QueryResult& qr);
Функция возвращает ostream&
и принимает ostream&
в качестве параметра, поскольку потоки не могут быть скопированы. QueryResult
передается как постоянная ссылка, чтобы избежать возможно дорогой копии.