Стенли Липпман - Язык программирования C++. Пятое издание
- Название:Язык программирования C++. Пятое издание
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2014
- Город:Москва
- ISBN:978-5-8459-1839-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стенли Липпман - Язык программирования C++. Пятое издание краткое содержание
Вы держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под
. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. В соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.
С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать их наилучшие способы применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.
Стенли Б. Липпман Жози Лажойе Барбара Э. Му • Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием
• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования
• Изучите принципы и узнайте почему язык С++11 работает именно так
• Воспользуйтесь множеством перекрестных ссылок, способных помочь вам объединить взаимосвязанные концепции и проникнуть в суть
• Ознакомьтесь с современными методиками обучения и извлеките пользу из упражнений, в которых подчеркиваются ключевые моменты, позволяющие избежать проблем
• Освойте лучшие методики программирования и закрепите на практике изученный материал
Исходный код примеров можно загрузить с веб-страницы книги на сайте издательства по адресу: http://www.williamspublishing.com
Язык программирования C++. Пятое издание - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Блок try
( try
block). Блок операторов, начинающийся ключевым словом try
и содержащий одну или несколько директив catch
. Если код в блоке try
передает исключение и одна из директив catch
соответствует типу переданного исключения, то переданное исключение будет обработано этим обработчиком. В противном случае исключение будет передано из блока try другому обработчику, далее по цепи вызовов.
Блок try
функции(function try
block). Используется для обработки исключений из списка инициализации конструктора. Ключевое слово try
располагается перед двоеточием, начинающим список инициализации конструктора (или перед открывающей фигурной скобкой тела конструктора, если список инициализации пуст), и завершается одной или несколькими директивами catch
, которые следуют после закрывающей фигурной скобки тела конструктора.
Виртуальное наследование(virtual inheritance). Форма множественного наследования, при котором производные классы совместно используют одну копию экземпляра базового класса, даже если в иерархии он встречается несколько раз.
Виртуальный базовый класс(virtual base class). Базовый класс, при наследовании которого было использовано ключевое слово virtual
. В объекте производного класса часть виртуального базового класса содержится только в одном экземпляре, даже если в иерархии этот класс присутствует несколько раз. При не виртуальном наследовании конструктор может инициализировать только непосредственный базовый класс (классы). При виртуальном наследовании этот класс мог бы быть инициализирован несколькими производными классами, которые должны предоставить инициализирующие значения для всех его виртуальных предков.
Выражение throw е
(передача исключения). Выражение, которое прерывает текущий поток выполнения. Каждый оператор throw
передает управление ближайшему окружающему блоку catch
, который способен обработать исключение переданного типа. Выражение е
будет скопировано в объект исключения.
Глобальное пространство имен(global namespace). Неявное пространство имен, содержащее все определения глобальных объектов, которыми обладает каждая программа.
Директива catch
( catch
clause). Часть программы, которая обрабатывает исключение. Директива обработчика состоит из ключевого слова catch
, за которым следуют объявление исключения и блок операторов. Код в блоке catch
предназначен для обработки исключений типа, указанного в его объявлении.
Директива using
( using
directive). Объявление в форме using NS;
делает все имена пространства имен NS
доступными в ближайшей области видимости, содержащей и директиву using
, и само пространство имен.
Загромождение пространства имен(namespace pollution). Термин, используемый для описания ситуации, когда все имена классов и функций располагаются в глобальном пространстве имен. Большие программы, использующие код, который создан несколькими независимыми производителями, зачастую сталкиваются с конфликтами имен, если эти имена глобальны.
Множественное наследование(multiple inheritance). Наследование, при котором класс имеет несколько непосредственных базовых классов. Производный класс наследует члены всех своих базовых классов. Имена нескольких базовый классов указываются в списке наследования класса. Для каждого базового класса может быть предоставлен отдельный спецификатор доступа.
Обработка исключений(exception handling). Механизм уровня языка, предназначенный для ликвидации аномалий времени выполнения. Один независимо разработанный раздел кода может обнаружить проблему и передать исключение, которое может получить и обработать другая независимо разработанная часть программы. Часть кода, обнаруживающая ошибку, передает исключение, а часть кода, получающая его, осуществляет обработку.
Обработчик(handler). Синоним директивы catch
.
Обработчик для всех исключений(catch-all). Директива catch
, в которой объявляется исключение. Директива обработчика для всех исключений обрабатывает исключения любого типа. Обычно он используется для предварительной обработки исключения, осуществляемой локально. Затем исключение повторно передается другой части программы, в которой и осуществляется устранение причины проблем.
Объект исключения(exception object). Объект, используемый для передачи сообщения между блоками throw
и catch
. Объект создается в точке передачи и является копией использованного выражения. Объект исключения существует, пока не сработает последний обработчик для его типа. Тип объекта соответствует типу использованного выражения.
Объявление using
( using
declaration). Механизм, позволяющий ввести одно имя из пространства имен в текущую область видимости. using std::сout;
. Это объявление сделает имя cout
из пространства имен std
доступным в текущей области видимости, благодаря чему имя cout
можно применять без спецификатора std::
.
Объявление исключения(exception declaration). Объявление директивы catch
, определяющее тип обрабатываемого исключения. Объявление действует как список параметров, каждый параметр которого инициализируется объектом исключения. Если спецификатор исключения имеет не ссылочный тип, то объект исключения копируется в обработчик.
Оператор noexcept
. Оператор, возвращающий тип bool
и указывающий, способно ли данное выражение передать исключение. Выражение не вычисляется. Результат — константное выражение. Его значение true
, если выражение не содержит оператора throw
и вызывает только те функции, которые не передают исключений; в противном случае результат — false
.
Оператор области видимости(scope operator). Оператор ( ::
) используется для доступа к именам пространства имен или класса.
Передача(raise). Синоним термина "throw" (передача). Программисты С++ используют термины "throwing" и "raising" как синонимы, означающие передачу исключения.
Повторная передача исключения(rethrow). Пустой оператор throw
повторно передает объект исключения. Повторная передача возможна только из блока catch
(обработчика) или из функции, прямо или косвенно вызываемой обработчиком. В результате будет повторно передан полученный ранее объект исключения.
Порядок выполнения конструкторов(constructor order). При не виртуальном наследовании части базовых классов строятся в том порядке, в котором они указаны в списке наследования класса. При виртуальном наследовании часть виртуального базового класса (классов) создается прежде любых других базовых классов. Они создаются в порядке расположения в списке наследования производного класса. Только самый последний производный тип может инициализировать виртуальный базовый класс; списки инициализации конструктора этого базового класса, расположенные в промежуточных базовых классах, игнорируются.
Читать дальшеИнтервал:
Закладка: