![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Никогда не понимал причину деления на три типа стримов input, output, input-output . Для чего это деление нужно? Ведь если хочется избежать порчи данных в источнике, вполне можно открыть iostream с правами только для чтения. Если же надо только и только записывать тоже можно открыть iostream только для записи.
Зачем нужно делить стримы на эти три версии, когда вполне хватит одной io-версии? |
|||
|
||||
Zmaster555 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 14.1.2013 Репутация: нет Всего: нет |
Думаю, что для корректной организации механизмов наследования и полиморфизма.
Это сообщение отредактировал(а) Zmaster555 - 3.3.2013, 15:12 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Думаю для порядка нужно. Смотришь объяву класса, а там ostream и сразу понятно назначение объекта. Еще название сделать толковое и даже коменты не нужны.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 3 Всего: 17 |
Если поток не поддерживает ввод или вывод, а объявлен как IO - это же нелогично и, как следствие, введет пользователей в заблуждение, испортив API библиотеки. Плюс это дополнительный способ прострелить ногу, которых в плюсах итак предостаточно. Открыли вы, например, поток только на чтение, чтобы избежать порчи данных, а завтра Вася в наследнике вашего класса переопределяет метод get_input_stream() и забывает выставить нужные флаги возвращаемому потоку. И приплыли. Не стоит сильно полагаться внимательность людей. Если есть возможность принудить их к написанию корретного и логичного кода, то лучше ее использовать.
Это сообщение отредактировал(а) Amp - 3.3.2013, 15:08 |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Alexeis, Ок. Этот довод могу понять ) Это единственная причина?
|
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Amp, Респект!
|
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |