Стенли Липпман - Язык программирования C++. Пятое издание
- Название:Язык программирования C++. Пятое издание
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2014
- Город:Москва
- ISBN:978-5-8459-1839-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стенли Липпман - Язык программирования C++. Пятое издание краткое содержание
Вы держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под
. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. В соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.
С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать их наилучшие способы применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.
Стенли Б. Липпман Жози Лажойе Барбара Э. Му • Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием
• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования
• Изучите принципы и узнайте почему язык С++11 работает именно так
• Воспользуйтесь множеством перекрестных ссылок, способных помочь вам объединить взаимосвязанные концепции и проникнуть в суть
• Ознакомьтесь с современными методиками обучения и извлеките пользу из упражнений, в которых подчеркиваются ключевые моменты, позволяющие избежать проблем
• Освойте лучшие методики программирования и закрепите на практике изученный материал
Исходный код примеров можно загрузить с веб-страницы книги на сайте издательства по адресу: http://www.williamspublishing.com
Язык программирования C++. Пятое издание - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Упражнение 2.42. Напишите собственную версию заголовка Sales_data.h
и используйте его для новой версии упражнения из раздела 2.6.2.
Резюме
Типы — фундаментальная часть всех программ С++.
Каждый тип определяет требования по хранению и операциям, которые можно выполнять с объектами этого типа. Язык предоставляет набор фундаментальных встроенных типов, таких как int
и char
, которые тесно связаны с их представлением на аппаратных средствах машины. Типы могут быть неконстантными или константными; константный объект следует инициализировать. Будучи однажды инициализированным, значение константного объекта не может быть изменено. Кроме того, можно определить составные типы, такие как указатели или ссылки. Составной тип — это тип, определенный в терминах другого типа.
Язык позволяет определять собственные типы, т.е. классы. Библиотека использует классы, чтобы предоставить набор таких высокоуровневых абстракций, как типы IO и string
.
Термины
Адрес(address). Номер байта в памяти, начиная с которого располагается объект.
Арифметический тип(arithmetic type). Встроенные типы, представляющие логические значения, символы, целые числа и числа с плавающей запятой.
Базовый тип(base type). Спецификатор типа, возможно со спецификатором const
, который предшествует оператору объявления в объявлении. Базовый тип представляет общий тип, на основании которого строятся операторы объявления в объявлении.
Байт(byte). Наименьший адресуемый блок памяти. На большинстве машин байт составляет 8 битов.
Беззнаковыйтип (unsigned). Целочисленный тип данных, переменные которого способны хранить значения больше или равные нулю.
В области видимости(in scope). Имя, которое видимо от текущей области видимости.
Внешняя область видимости(outer scope). Область видимости, включающая другую область видимости.
Внутренняя область видимости(inner scope). Область видимости, вложенная в другую область видимости.
Внутриклассовый инициализатор(in-class initializer). Инициализатор, предоставленный как часть объявления переменной-члена класса. За внутриклассовым инициализатором следует символ =
, или он заключается в фигурные скобки.
Временный объект(temporary). Безымянный объект, создаваемый компилятором при вычислении выражения. Временный объект существует до конца вычисления всего выражения, для которого он был создан.
Глобальная область видимости(global scope). Область видимости, внешняя для всех остальных областей видимости.
Директива препроцессора #define
. Определяет переменную препроцессора.
Директива препроцессора #endif
. Завершает область #ifdef
или #ifndef
.
Директива препроцессора #ifdef
. Выясняет, что данная переменная определена.
Директива препроцессора #ifndef
. Выясняет, что данная переменная не определена.
Защита заголовка(header guard). Переменная препроцессора, предназначенная для предотвращения неоднократного подключения содержимого заголовка в один файл исходного кода.
Знаковый тип(signed). Целочисленный тип данных, переменные которого способны хранить отрицательные и положительные числа, включая нуль.
Идентификатор(identifier). Последовательность символов, составляющая имя. Идентификатор зависит от регистра символов.
Инициализация(initialization). Присвоение переменной исходного значения при ее определении. Обычно переменные следует инициализировать.
Инициализация по умолчанию(default initialization). Способ инициализации объектов при отсутствии явной инициализации. Инициализация объектов типа класса определяется классом. Объекты встроенного типа, определенного в глобальной области видимости, инициализируются значением 0, а определенные в локальной области видимости остаются неинициализированными и имеют неопределенное значение.
Интегральный тип(integral type). То же, что и арифметический или целочисленный тип.
Ключевое слово struct
. Используется при определении структуры (класса).
Ключевое слово typedef
. Позволяет определить псевдоним для другого типа. Когда ключевое слово typedef
присутствует в объявлении базового типа, определенные в объявлении имена становятся именами типа.
Константная ссылка(const reference). Разговорный термин для ссылки на константный объект.
Константное выражение(constant expression). Выражение, значение которого может быть вычислено во время компиляции.
Константный указатель(const pointer). Указатель со спецификатором const
.
Контроль соответствия типов(type checking). Термин, описывающий процесс проверки компилятором соответствия способа использования объекта заявленному для него типу.
Литерал(literal) Значение, такое как число, символ или строка символов. Это значение не может быть изменено. Символьные литералы заключают в одинарные кавычки, а строковые литералы в двойные.
Литерал nullptr
. Литеральная константа, означающая нулевой указатель.
Локальная область видимости(local scope). Разговорный синоним для области действия блока кода.
Массив(array). Структура данных, содержащая коллекцию неименованных объектов, к которым можно обращаться по индексу. Более подробная информация о массивах приведена в разделе 3.5.
Неинициализированная переменная(uninitialized variable). Переменная, определенная без исходного значения. Обычно попытка доступа к значению неинициализированной переменной приводит к неопределенному поведению.
Неопределенное поведение(undefined behavior). Случай, для которого стандарт языка не определяет значения. Осознанно или неосознанно, но полагаться на неопределенное поведение нельзя. Оно является источником трудно обнаруживаемых ошибок времени выполнения, проблем безопасности и переносимости.
Непечатаемый символ(nonprintable character). Символ, не имеющий видимого представления, например символ возврата на один символ, символ новой строки и т.д.
Нулевой указатель(null pointer). Указатель со значением 0. Нулевой указатель допустим, но не указывает ни на какой объект.
Область видимости(scope). Часть программы, в которой имена имеют смысл. Язык С++ имеет несколько уровней областей видимости.
Глобальная(global) — имена, определенные вне остальных областей видимости.
Класса(class) — имена, определенные классом.
Пространства имен(namespace) — имена, определенные в пространстве имен.
Читать дальшеИнтервал:
Закладка: