Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (29.01.2012 в 21:37)
>Насколько актуально знать данный раздел ?
Черт его знает... хуже не будет это точно, особенно, если вам нужно много и интенсивно работать с текстовыми файлами.

>Какие перспективы открывает знание данной области с++?
Ваши программы будут работать в любой операционной системе. Собственно это то, за что ценятся языки высокого уровня и их стандарты. Т.е. написали программу и с 98% вероятностью в 2020 году ничего даже править не придется, чтобы откомпилировать её под 128-битный Mac. В этом сила стандартных средств языков - они везде работают. Будущие поколения расшибутся в лепешку, но сделают все от них зависящее, чтобы новые стандарты были совместимы со старыми программами.

>Еще вопрос к старичкам, как часто вы пользуетесь потоками, файлами на практике, где
>конкретно применяли.
Ну вообще говоря нет, не часто... это довольно медленно и неудобно. Даже если вы перезагружаете операторы ввода и вывода, и не в час по чайной ложке записываете каждую букву, а крупными массивами данных, все-равно это очень высокий уровень... системные вызовы гораздо быстрее... особенно какое-нибудь отображение в память в Windows... Представьте, вы создаете файл в виртуальной памяти, записываете все что вам нужно в быструю оперативную память, а потом закрываете участок и получаете образ этой памяти на жестком диске, причем с той скоростью, на которую только способна операционная система... Ну в UNIX такого, конечно, нет, но там системные вызовы есть и понятно, что все высокоуровневые средства C++ это обертки вокруг этих вызовов и действуют они медленнее... Собственно потоки - это ближе к UNIX-модели, в Windows есть средства покруче, можно просто взять объект из памяти и положить на диск, а в следующий раз открыть его прямо в память - будто и не закрывал программу и все это одним вызовом, которому наплевать какой сложности объект подвергается сохранению на диск или отображению в память.

Т.е. потоки ввода-вывода важны, когда вам нужно, чтобы ваш код работал (преимущественно с тестовыми файлами) на нескольких операционных системах, особенно UNIX-подобных, и его не нужно было переписывать под другие операционные системы. Часто у вас такие задачи возникают? Если часто, тогда лучше в потоках ввода-вывода разбираться, если вы ориентируетесь только на Windows, может статься, что они вам вообще не потребуются.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: