8.1.1. Объекты ввода-вывода не допускают копирования и присвоения
Как упоминалось в разделе 7.1.3, объекты ввода-вывода не допускают копирования и присвоения:
ofstream out1, out2;
out1 = out2; // ошибка: нельзя присваивать потоковые объекты
ofstream print(ofstream); // ошибка: нельзя инициализировать параметр
// типа ofstream
out2 = print(out2); // ошибка: нельзя копировать потоковые объекты
Поскольку объекты типа ввода-вывода нельзя копировать, не может быть параметра или типа возвращаемого значения одного из потоковых типов (см. раздел 6.2.1). Функции, осуществляющие ввод-вывод, получают и возвращают поток через ссылки. Чтение или запись в объект ввода-вывода изменяет его состояние, поэтому ссылка не должна быть константой.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК