|
||||
|
8.2.1 Вывод Встроенных Типов Класс ostream определяется вместе с операцией «„ («пместить в“) для обработки вывода встроенных типов: class ostream (* // ... public: ostream amp; operator««(char*); ostream amp; operator««(int i) (* return *this««long(i); *) ostream amp; operator««(long); ostream amp; operator««(double); ostream amp; put(char); *); Функция operator«« возвращает ссылку на ostream, для кторого она была вызвана, чтобы к ней можно было применять другой ostream. Например: cerr «« "x = " «« x; где x является int, будет интерпретироваться как: (cerr.operator««("x = ")).operator««(x); В частности, отсюда следует, что когда один оператор ввода печатает несколько элементов, они будут печататься в ожидаемом порядке: слева направо. Наличие operator««, которая получает int, является избыточным, поскольку int может неявно преобразовываться в long. С другой стороны, int может преоразовываться также и в double. Наличие ostream::operator««(int) позволяет избежать этой неоднознаности. Для печати символов в виде символов предоставляется функция ostream::put(char), а ostream::operator««(int) печтает их целые значения. |
|
||