Конечно, работает следующий код (он вызывает std:: cout:: operator < <):
cout << 1 << '1' << "1" << endl;
Случилось найти также std:: operator < < < <, и кажется, что он работает только для аргументов char или char *:
operator<<(cout, '1'); // ok
operator<<(cout, "1"); // ok
operator<<(cout, 1); // error
Итак, зачем нам этот оператор и как его использовать?
Спасибо.