Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Файловые буферы STL

18K
13 июля 2006 года
crazzzy.lama
4 / / 13.07.2006
Сбрасывается ли буфер при вызове функции seekg() у объекта класса ofstream. с помощью тестов обнаружил, что кажется всегда сбрасывается, но стоит ли ожидать такого поведения от всех реализаций STL ?
5.9K
13 июля 2006 года
Zushenskiy
161 / / 29.06.2006
Да действительно очищает, но что значит от всех реализаций STL?:)
18K
13 июля 2006 года
crazzzy.lama
4 / / 13.07.2006
Ну реализации STL разные бывают =) Есть микрософтовская в студии, есть в гцц, есть своя какая-то в билдере. Ведь в стандарте описаны всего лишь какие-то требования в STL, а не конкретная реализация. Например, определение развера списка (std::list) может работать как за константное время, так и за линейное.
5.9K
13 июля 2006 года
Zushenskiy
161 / / 29.06.2006
Конечно не зависимо.
Представь себе ситуацию ты создал файл на запись и кинул туда 10 байт(на самом деле они скинулись не в файл а в буфер) и после пытаешься обратится к пятой позиции курсора(на пятый байт в файле), а она отсутствует файле - баг. То есть логично что метод seekg должен сначало отчистить буфер не зависимо от реализации. :D
18K
13 июля 2006 года
crazzzy.lama
4 / / 13.07.2006
Ага, но это твоя логика, у меня была точно такая же. Но у тех, кто писал СТЛ могла быть другая логика, причем лучше и правильнее нашей. Ладно. все. понятно. тему можно закрыть =)
5.9K
13 июля 2006 года
Zushenskiy
161 / / 29.06.2006
это не моя логика, а общепринятая:)
будет ли коретно чтобы достучатся до какойто позиции в файле перелапачивать весь файл с учетом буффера, это дополнительное процессорное время и ресуры, что не есть хорошо?...;)
284
13 июля 2006 года
michael_is_98
587 / / 25.02.2005
[QUOTE=crazzzy.lama]Ага, но это твоя логика, у меня была точно такая же. Но у тех, кто писал СТЛ могла быть другая логика, причем лучше и правильнее нашей. Ладно. все. понятно. тему можно закрыть =)[/QUOTE]
STL - стандарт, он один для всех. Для этого его и создали. Иди от первоисточника - читай сам стандарт по этой функции.
Я задался бы вопросом: зачем требовать от функции seekg() обязательного сброса буферов. Для какого алгоритма это требование обязательно? Может лучше точнее его сформулировать и перестроить так, чтобы это не было критично?
18K
13 июля 2006 года
crazzzy.lama
4 / / 13.07.2006
В том-то и дело, что в стандарте именно про это ничего не написано
398
13 июля 2006 года
Alexandoros
630 / / 21.10.2005
[QUOTE=crazzzy.lama]В том-то и дело, что в стандарте именно про это ничего не написано[/QUOTE]
Если в стандарте не написано, то нужно делать, как написано, flush()
2.0K
15 июля 2006 года
Dstr
158 / / 27.04.2006
Я всетаки поставил 6.0 тк охота за АПИ посидеть,знаний всяческих дает много)
398
15 июля 2006 года
Alexandoros
630 / / 21.10.2005
ты думаеш в 7 или 8 нету апи???? ЛОЛ
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог