У меня есть следующий код:
#include <iostream>
using namespace std;
ostream& f(ostream& os) {
return os << "hi";
}
int main() {
cout << "hello " << f << endl;
return 0;
}
И как-то это работает - выход "привет привет". Как это интерпретируется компилятором? Я не понимаю, как функция может быть вставлена в поток.