Стенли Липпман - Язык программирования C++. Пятое издание

Тут можно читать онлайн Стенли Липпман - Язык программирования C++. Пятое издание - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Вильямс, год 2014. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Язык программирования C++. Пятое издание
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Вильямс
  • Год:
    2014
  • Город:
    Москва
  • ISBN:
    978-5-8459-1839-0
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Стенли Липпман - Язык программирования C++. Пятое издание краткое содержание

Язык программирования C++. Пятое издание - описание и краткое содержание, автор Стенли Липпман, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!
Вы держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под
. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. В соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.
С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать их наилучшие способы применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.
Стенли Б. Липпман Жози Лажойе Барбара Э. Му • Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием
• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования
• Изучите принципы и узнайте почему язык С++11 работает именно так
• Воспользуйтесь множеством перекрестных ссылок, способных помочь вам объединить взаимосвязанные концепции и проникнуть в суть
• Ознакомьтесь с современными методиками обучения и извлеките пользу из упражнений, в которых подчеркиваются ключевые моменты, позволяющие избежать проблем
• Освойте лучшие методики программирования и закрепите на практике изученный материал
Исходный код примеров можно загрузить с веб-страницы книги на сайте издательства по адресу: http://www.williamspublishing.com

Язык программирования C++. Пятое издание - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования C++. Пятое издание - читать книгу онлайн бесплатно, автор Стенли Липпман
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Объект класса istreamили ostreamможно связать с другим объектом класса ostream:

cin.tie(&cout); // только для демонстрации: библиотека

// автоматически связывает объекты cin и cout

// old_tie указывает на поток (если он есть),

// в настоящее время связанный с объектом cin

ostream *old_tie = cin.tie(nullptr); // объект cin больше не связан

// связь cin и cerr; не лучшая идея, поскольку объект cin должен быть

// привязан к объекту cout

cin.tie(&cerr); // чтение в cin сбрасывает объект cerr, а не cout

cin.tie(old_tie); // восстановление обычной связи между cin и cout

Чтобы связать данный поток с новым потоком вывода, функции tie()передают указатель на новый поток. Чтобы разорвать существующую связь, достаточно передать в качестве аргумента значение 0. Каждый поток может быть связан одновременно только с одним потоком. Однако несколько потоков могут связать себя с тем же объектом ostream.

картинка 2648.2. Ввод и вывод в файл

В заголовке fstreamопределены три типа, поддерживающие операции ввода и вывода в файл: класс ifstreamчитает данные из указанного файла, класс ofstreamзаписывает данные в файл, класс fstreamчитает и записывает данные в тот же файл. Использование того же файла для ввода и вывода рассматривается в разделе 17.5.3.

Эти типы поддерживают те же операции, что и описанные ранее объекты cinи cout. В частности, для чтения и записи в файлы можно использовать операторы ввода-вывода ( <<и >>), можно использовать функцию getline()(см. раздел 3.2.2) для чтения из потока ifstream. Материал, изложенный в разделе 8.1, относится также и к этим типам.

Кроме поведения, унаследованного от типа iostream, определенные в заголовке fstreamтипы имеют в дополнение члены для работы с файлами, связанными с потоком. Эти операции перечислены в табл. 8.3, они могут быть вызваны для объектов классов fstream, ifstreamили ofstream, но не других типов ввода-вывода.

Таблица 8.3. Операции, специфические для типов заголовка fstream

fstream fstrm; Создает несвязанный файловый поток, fstream — это один из типов, определенных в заголовке fstream
fstream fstrm( s ); Создает объект класса fstream и открывает файл по имени s . Параметр s может иметь тип stringили быть указателем на символьную строку в стиле С (см. раздел 3.5.4). Эти конструкторы являются явными (см. раздел 7.5.4). Заданный по умолчанию режим файла зависит от типа fstream
fstream fstrm( s , режим ); Подобен предыдущему конструктору, но открывает файл s в указанном режиме
fstrm.open( s ) fstrm.open( s , режим ) Открывает файл s и связывает его с потоком fstrm. Параметр s может иметь тип stringили быть указателем на символьную строку в стиле С. Заданный по умолчанию режим файла зависит от типа fstream . Возвращает тип void
fstrm.close() Закрывает файл, с которым связан поток fstrm. Возвращает тип void
fstrm.is_open() Возвращает значение типа bool, указывающее, был ли связанный с потоком fstrmфайл успешно открыт и не был ли он закрыт

картинка 2658.2.1. Использование объектов файловых потоков

Когда необходимо читать или писать в файл, определяется объект файлового потока (file stream), который связывается с файлом. Каждый класс файлового потока определяет функцию-член open(), которая выполняет все системные операции, необходимые для поиска указанного файла и его открытия для чтения или записи.

При создании файлового потока можно (но не обязательно) указать имя файла. При предоставлении имени файла функция open()вызывается автоматически:

ifstream in(ifile); // создать объект ifstream и открыть указанный файл

ofstream out; // файловый поток вывода, не связанный с файлом

картинка 266Этот код определяет inкак входной поток, инициализированный для чтения из файла, указанного строковым аргументом ifile. Код определяет outкак поток вывода, который еще не связан с файлом. По новому стандарту имена файлов могут быть переданы как в переменной библиотечного типа string, так и в символьном массиве в стиле С (см. раздел 3.5.4). Предыдущие версии библиотеки допускали только символьные массивы в стиле С.

Использование fstreamвместо iostream&

Как упоминалось в разделе 8.1, объект производного типа можно использовать в тех местах, где ожидается объект базового типа. Благодаря этому факту функции, получающие ссылку (или указатель) на один из типов iostream, могут быть вызваны от имени соответствующего типа fstream(или sstream). Таким образом, если имеется функция, получающая ссылку ostream&, то ее можно вызвать, передав объект типа ofstream, то же относится к ссылке istream&и типу ifstream.

Например, функции read()и print()(см. раздел 7.1.3) можно использовать для чтения и записи в именованный файл. В этом примере подразумевается, что имена файлов ввода и вывода передаются как аргументы функции main()(см. раздел 6.2.5):

ifstream input (argv[1]); // открыть файл транзакций продаж

ofstream output(argv[2]); // открыть файл вывода

Sales_data total; // переменная для хранения текущей суммы

if (read(input, total)) { // прочитать первую транзакцию

Sales_data trans; // переменная для хранения данных следующей

// транзакции

while(read(input, trans)) { // читать остальные транзакции

if (total.isbn() == trans.isbn()) // проверить isbn

total.combine(trans); // обновить текущую сумму

else {

print(output, total) << endl; // отобразить результат

total = trans; // обработать следующую книгу

}

}

print (output, total) << endl; // отобразить последнюю транзакцию

} else // ввода нет

cerr << "No data?!" << endl;

Кроме использования именованных файлов, этот код практически идентичен версии программы сложения, приведенной в разделе 7.1.1. Важнейшая часть — вызов функций read()и print(). Этим функциям можно передать объекты типа fstream, хотя типами их параметров определены istream&и ostream&соответственно.

Функции-члены open()и close()

Когда определяется пустой объект файлового потока, вызвав функцию open(), его впоследствии можно связать с файлом:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стенли Липпман читать все книги автора по порядку

Стенли Липпман - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования C++. Пятое издание отзывы


Отзывы читателей о книге Язык программирования C++. Пятое издание, автор: Стенли Липпман. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий