Содержание

12 книг для изучения языка программирования С++

C++ — один из самых популярных языков программирования. Представляем вам подборку книг для изучения этого языка, составленную сайтом KV.BY.

С++ для начинающих. Шаг за шагом

Добро пожаловать в мир программирования на С++. Представленный самоучитель поможет погрузиться вам в этот мир. Вы освоите азы языка, его структуру, возможности и функции. Здесь освещены многие темы:

  • типы данных;
  • операторы;
  • классы и объекты;
  • интерфейс;
  • наследование и исключения;
  • обобщенные и обнуляемые типы;
  • перегрузки;
  • виртуальные функции и прочее.

C++. Полное руководство

Справочник, который вобрал в себя, если не все особенности языка С++, то очень большую их часть. Всё понятно, доступно и внятно написано. Саму книгу можно поделить на 5 разделов:

  1. Знакомство с семейством С.
  2. Обзор С++.
  3. Библиотека функций.
  4. Библиотека классов.
  5. Программы на С++.

Книга будет одинаково интересна новичкам и более опытным коллегам. Первые получат полную информацию относительно самого языка, структуры, а вторые – освежат в памяти подзабытые вещи.

C++ для чайников

Книга для тех, кто делает первые шаги в изучении языка С++. Здесь все разжевано для максимального понимания материала. Информация подаётся последовательно (с примерами и задачами для лучшего усвоения).

Здесь рассмотрены последние версии языка, т.е. тут собраны все новые функции и возможности С++. Вы не только узнаете азы языка, но научитесь создавать цельную программу из отдельных блоков или модулей. Узнаете об ООП, и о том, как защитить свои труды от хакеров.

Язык программирования C++

Это учебник для изучения классической работы по вычислительной технике. Здесь вы узнаете о принципах программирования. Здесь будут затронуты следующие темы:

  • структура кода;
  • нисходящее проектирование;
  • применение классов;
  • наследование;
  • шаблоны исключений;
  • лямбда-выражений и прочее.

Здесь очень много разборов примеров и практических заданий для самостоятельного решения с ответами в конце.

Программирование на C++ в примерах и задачах

Учебник достаточно кратко и доступно охватывает все аспекты языка, с которыми постоянно сталкиваются в процессе анализа и написания эффективного кода. Книга с более практическим уклоном: теории здесь меньше, а основной упор идёт на примеры с подробным объяснением применения тех или иных методов решения задачи. И много заданий на самостоятельное решение для закрепления полученной информации.

Объектно-ориентированное программирование в С++

Учебник поможет овладеть объектно-ориентированным программирование (ООП) на языке C++. Книга охватывает все важные темы:

  • принципы языка;
  • готовые примеры полномасштабные программы;
  • куски кода, которые объясняют теорию практическим путем и прочее.

Для закрепления пройденного материала предлагается выполнить несколько упражнений. Всего в учебнике порядка 100 задач для самостоятельной работы. Для того, чтобы начать работу с книгой, достаточно иметь знания по основам программирования.

Эффективный и современный С++

Название говорит само за себя: книга даёт пояснения и рекомендации по работе с С++11 и С++14. Здесь появились новые функции и возможности. Следовательно, появились новые концепции в программировании. Книга не только расскажет о новшествах, но и научит грамотно ими пользоваться. На примерах будет показано, почему то или иное решение лучше всего подходит для данного места.

Учебное пособие научит при помощи новых версий языка создавать корректные и эффективные приложения.

Охват тем значительный, книга больше рассчитана на уже достаточно опытных программистов, но и новичкам её интересно будет полистать. Правда, затем не раз к ней возвращаться.

Язык программирования C++. Специальное издание

Эта книга от создателя языка С++ – Бьерна Страуструпа. Автор постарался изложить все каноны и возможности языка. Кроме теории на страницах пособия вы увидите подходы и решения различных задач, которые наиболее оптимальны для каждого случая. Также здесь затронут тема ООП. Учебник рассчитан на программистов, которые уже работают с языком.

С++. Практика многопоточного программирования

Книга с большим количеством практики от Энтони Уильямса. Основной упор сделан именно на многопоточном программировании с использованием С++17, который был запущен в 2017 году. Изложенная здесь информация поможет создавать максимально быстрые приложения для решения задач по графической обработке, машинному обучению и так далее. Также вы узнаете о средствах параллелизма.

Книга для тех, кто хочет расширить и углубить свои знания по многопоточному программированию с параллельным изучением С++17.

Параллельное программирование на С++ в действии

Эта книга также о многопоточности, но уже на С++11. Пособие с нуля вводит в многопоточность и параллелизм. Предварительных знаний по этим темам не надо. Здесь затронуты темы потоковой модели памяти, запуска и синхронизации потоков и прочими узкими вопросами.

Алгоритмы на C++

Это 3-е издание данной книги. Автор покажет читателю новые алгоритмы, попеременно чередуя теорию с практикой для более чёткого понимания.

Справочник поделен на несколько частей. В первых четырёх идёт обзор фундаментальных алгоритмов, поиск, сортировки и структуры данных. Но это более общая информация, которая применима и в других языках программирования. 5-я часть расскажет об алгоритмах на графах. Им отведена важная роль в приложениях типа сетевой связности, обработки транзакций, составлении графиков и т.д.

Эффективное использование С++

Здесь изложены методы и способы, которые помогут улучшить ваш код. Разработанные вами программы станут проще, понятнее и эффективнее. В этом же справочнике вы узнаете азы стратегии проектирования, шаблоны управления ресурсами, паттерны, обработку исключений и прочее.

ТОП-10 книг по C++: от новичка до профессионала

Герберт Шилдт. С++ для начинающих. Шаг за шагом

С++ для начинающих. Шаг за шагом

Самоучитель, который шаг за шагом расскажет об основных понятиях языка C++: переменные, инструкции управления, функции, типы и массивы данных, классы и объекты. Рассказано о перегрузках, управлении исключениями, наследовании, виртуальных функциях, полиморфизме, вводе/выводе.

Достоинства:

  • Необходимый объём для начинающих.
  • Доступный язык повествования.
  • Есть вопросы для самопроверки.
  • Хорошее качество печати.

Недостатки:

  • Блеклый шрифт листингов программ.
  • На обратной стороне книги говорится о многопоточном программировании и работе в сети, но читатели такой информации в самоучители не нашли.
  • Мягкая обложка.
Стивен Прата. Язык программирования C++. Лекции и упражнения

Книга в оригинале в сообществе Книги для программистов

Эта классическая работа по вычислительной технике обучает принципам программирования, среди которых структурированный код и нисходящее проектирование, а также использованию классов, наследования, шаблонов, исключений, лямбда-выражений.

Достоинства:

  • Подробное изложение.
  • Множество примеров кода.
  • Задания после каждой главы.
  • Вопросы для самоконтроля.
  • Хорошее качество переплета.

Недостатки:

  • Не затронуты стандарты C14, C17.
  • Встречаются опечатки.

Роберт Лафоре. Объектно-ориентированное программирование в С++

Роберт Лафоре. Объектно-ориентированное программирование в С++

Книга в сообществе Книги для программистов

Принципы языка, готовые полномасштабные приложения, небольшие примеры, поясняющие теорию, и множество полезных иллюстраций. Книга пользуется стабильным успехом в учебных заведениях благодаря тому, что содержит более 100 упражнений, позволяющих проверить знания по всем темам.

Достоинства:

  • Хорошая база для освоения языка.
  • Легко читается.
  • В каждой главе разбираются примеры.
  • Есть контрольные вопросы и упражнения.
  • Твердый переплет, белые страницы.

Недостатки:

  • Встречаются опечатки и ошибки.
  • Рассматривается старый стандарт языка.

Страуструп. Программирование. Принципы и практика с использованием C++

Страуструп. Программирование. Принципы и практика с использованием C++

Хотя автор книги одновременно является и автором языка, С++ играет сугубо иллюстративную роль. Автор задумал книгу как вводный курс по программированию. Описан широкий круг понятий и приемов программирования, необходимых для того, чтобы стать профессиональным программистом.

Если вы решили стать программистом, и уже знакомы с азами C++ – эта книга для вас, в первую очередь потому, что программирование – это не только, и не столько знание инструмента (языка программирования), сколько понимание самого процесса.

Достоинства:

  • Книга учит программированию, язык – инструмент.
  • Качественный перевод и оформление книги.

Недостатки:

  • Большой объем, было бы удобнее, если бы выходила в двух томах.

Роберт Седжвик: Алгоритмы на C++. Анализ структуры данных. Сортировка. Поиск. Алгоритмы на графах

Роберт Седжвик: Алгоритмы на C++. Анализ структуры данных. Сортировка. Поиск. Алгоритмы на графах

Эта книга не про сам язык, а про алгоритмы с примерами реализации на С++. В частях I—IV рассматриваются фундаментальные алгоритмы, структуры данных, сортировка и поиск. В них приведено подробное описание фундаментальных структур данных и алгоритмов для сортировки, поиска и сопутствующих приложений. В части V рассматриваются алгоритмы на графах, которые играют все более важную роль во множестве приложений, таких как сетевая связность, конструирование электронных схем, составление графиков, обработка транзакций и выделение ресурсов.

Преимущества:

  • Раскрыты все темы, указанные в оглавлении книги.
  • Много примеров и упражнений.
  • Качественный перевод.
  • Хорошее оформление издания, белая бумага, четкий шрифт.

Недостатки:

  • В сравнении с книгами Кормана или Кнута раскрыты не все типы алгоритмов.

Мейерс Скотт. Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14

Мейерс Скотт. Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14

Книга в сообществе Книги для программистов

Эта книга посвящена возможностям языка, появившимся в C++11 и C++14. Рассказано, как эффективно использовать новые особенности, почему ту или иную задачу следует решать именно так., чтобы создаваемые программы были корректны, эффективны и переносимы.

Преимущества:

  • Написано доступно, но без воды.
  • Хорошее качество переплета.

Недостатки:

  • Редко, но встречаются неточности перевода и опечатки.

Яцек Галовиц. С++17 STL. Стандартная библиотека шаблонов

Яцек Галовиц. С++17 STL. Стандартная библиотека шаблонов

Книга в оригинале в сообществе Книги для программистов

90 реалистичных примеров, которые демонстрируют всю мощь STL и станут базовыми кирпичиками для решения более универсальных задач. Описана работа с контейнерами, вспомогательными классами и лямбда-выражениями.

Достоинства:

  • Стандарт C++17.
  • Создается хорошее понимание современного подхода к использованию C++.
  • Много примеров с пояснениями без лишней воды.

Недостатки:

  • Мягкий переплет, низкое качество печати и обрезки страниц.

Энтони Уильямс. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ

Энтони Уильямс. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ

Книга в оригинале в сообществе Книги для программистов

В наши дни стали нормой компьютеры с многоядерными процессорами. Современные стандарты языка C++ предоставляют поддержку многопоточности. Вдумчиво читая книгу Уильямса, вы научитесь писать надежные и элегантные многопоточные программы на С++.

Преимущества:

  • Большое количество примеров.
  • Не требуются предварительные знания по теме.
  • Рассмотрены все тонкости многопоточного программирования и типов синхронизации, подробно описаны lock-free-паттерны проектирования.

Недостатки:

  • Старый, хотя и достаточно актуальный стандарт (С11).
  • Ужасное качество переплета для такого объема книги.

Роберт C. Мартин. Гибкая разработка программ на Java и C++. Принципы, паттерны и методики

Роберт Мартин. Гибкая разработка программ на Java и C++. Принципы, паттерны и методики

Как и указано на обложке, примеры есть и на C++, и на Java, для лучшего понимания желательно знать оба языка. Рассматриваются ООП, UML, паттерны, приемы гибкого и экстремального программирования, а также приводится детальное описание полного процесса проектирования для многократно используемых программ на C++ и Java.

Преимущества:

  • Легко читается.
  • На простых примерах дается введение в архитектурное проектирование.
  • Рассматриваются ошибки традиционных примеров «хорошего» проектирования кода.
  • Подробно обсуждаются принципы SOLID.
  • Чувствуется опыт автора.

Недостатки:

  • Затянутое введение.

Бьерн Страуструп. Дизайн и эволюция С++

Бьерн Страуструп. Дизайн и эволюция С++

Книга в оригинале в сообществе Книги для программистов

В книге, написанной создателем языка С++ Бьерном Страуструпом, представлено описание процесса проектирования и разработки языка программирования С++.

Изложены цели, принципы и практические ограничения, наложившие отпечаток на структуру и облик С++, рассказано о дизайне недавно добавленных в язык средств: шаблонов, исключений, идентификации типа во время исполнения и пространств имен. Автор анализирует решения, принятые во время работы над языком, и демонстрирует, как правильно применять «реальный объектно-ориентированный язык программирования».

Преимущества:

  • Описана идеология, структура, философия языка.
  • Становятся понятными конструкции языка: почему сделано так, а не иначе.
  • Для людей с большим опытом в разработке на C++ читается как захватывающая художественная книга.

Недостатки:

  • Мягкая обложка.

***

Если вы не увидели любимую книгу в десятке, пожалуйста, не стесняйтесь порекомендовать ее в комментариях. Если вы читали перечисленные книги, дополните наши описания – какие преимущества и недостатки отметили бы вы.

Библиотека программиста любит язык C++. Вот три последних публикации:

С++ для начинающих » LITMY.RU — ЛИТЕРАТУРА В ОДИН КЛИК


Автор: Шилдт Герберт
Название: С++ для начинающих. Серия Шаг за шагом
Издательство: М:, Знание
Год: 2013
Страниц: 640
Формат: DJVU, PDF
Размер: 41 МБ

Книга известного американского специалиста и популяризатора языков программирования, посвященная основам языка С++. Начиная с таких базовых понятий языка> как типы данных, массивы, строки,указатели и функции, книга охватывает также важнейшие элементы объёктно-ориентированного программирования — классы и объекты, наследование,’ виртуальные функции, потоки ввода—вывода, исключения и шаблоны. Каждый раздел сопровождается простыми и наглядными примерами, дозволяющими получить практические навыки современного программирования. Книга предназначена для приступающих к изучению языка С++ -одного из самых универсальных и распространенных на сегодня языков программирования.

Содержание:

Выходные данные 641
От переводчика 6
Предисловие 8
МОДУЛЬ 1. Основы C++ 13
Краткая история C++ 14
Язык С: Заря современной эры программирования 14
Потребность в C++ 15
C++ родился 17
Эволюция C++ 17
Как C++ соотносится с языками Java и C# 18
Объектно-ориентированное программирование 20
Инкапсуляция 21
Полиморфизм 22
Наследование 23
Первая простая программа 24
Ввод программы 25
Компиляция программы 25
Запуск программы 26
Первый программный пример строка за строкой 27
Обработка синтаксических ошибок 30
Вторая простая программа 31
Использование операторов 33
Ввод с клавиатуры 35
Некоторые дополнительные возможности вывода 37
Еще один тип данных 38
Проект 1 -1: Преобразование футов в метры 40
Два управляющих предложения 43
Предложение if 43
Цикл for 45
Использование программных блоков 46
Знак точки с запятой и позиционирование 48
Практика использования отступов 49
Проект 1-2: Создание таблицы преобразования футов в метры 50
Знакомимся с функциями 52
Библиотеки C++ 55
Ключевые слова C++ 55
Идентификаторы 56
Вопросы для самопроверки 57
МОДУЛЬ 2. Знакомимся с данными, типами и операторами . . 59
Почему так важны типы данных 60
Типы данных C++ 60
Целые числа 63
Символы 65
Типы данных с плавающей точкой 67
Булев тип данных 68
Тип void 69
Проект 2-1: Разговор с Марсом 70
Литералы 72
Шестнадцатеричные и восьмеричные литералы 73
Строковые литералы 74
Символьные Esc-последовательности 74
Подробнее о переменных 76
Инициализация переменной 76
Динамическая инициализация 77
Операторы 78
Арифметические операторы 78
Инкремент и декремент 79
Операторы отношения (сравнения) и логические 81
Проект 2-2: Конструирование логической операции исключающее ИЛИ 84
Оператор присваивания 87
Составные присваивания 87
Преобразование типов в операциях присваивания 88
Выражения 89
Преобразование типа в выражениях 90
Приведение типа 90
Пробелы и скобки 92
Проект 2-3: Вычисление регулярных платежей по ссуде 92
Вопросы для самопроверки 96
МОДУЛЬ. 3. Предложения управления программой 97
Предложение if 98
Условные выражения 100
Вложенные предложения if 101
Цепочка if-else-if 102
Предложение switch 104
Вложенные предложения switch 108
Проект 3-1: Начинаем строить справочную систему C++ 109
Цикл for 112
Некоторые варианты цикла for 114
Опущенные секции 115
Бесконечный цикл for 117
Цикл с отсутствующим телом 117
Объявление переменных управления циклом внутри цикла for 118
Цикл while 120
Цикл do-while 122
Проект 3-2: Усовершенствование справочной системы C++ 124
Использование break для выхода из цикла 128
Использование continue 130
Проект 3-3: Завершаем разработку справочной системы C++ 131
Вложенные циклы 135
Использование предложения goto 136
Вопросы для самопроверки 137
МОДУЛЬ 4. Массивы, строки и указатели 139
Одномерные массивы 140
Границы не проверяются! 144
Двумерные массивы 145
Многомерные массивы 146
Проект 4-1: Упорядочение массива 147
Строки 150
Основы техники строк 150
Ввод строки с клавиатуры 151
Некоторые библиотечные функции обработки строк 153
strcpy() 153
strcat() 154
strcmp() 154
strlen() 154
Пример обработки строк 155
Использование завершающего нуля 156
Инициализация массивов 157
Инициализация массивов неопределенной длины 160
Массивы строк 162
Указатели 164
Что такое указатели? 164
Операторы указателей 165
Базовый тип указателя имеет большое значение 167
Операции присваивания посредством указателя 168
Выражения с указателями 169
Арифметика указателей 170
Сравнение указателей 172
Указатели и массивы 172
Индексация указателя 175
Строковые константы 177
Проект 4-2: Переворачивание строки 178
Массивы указателей 181
Соглашение о нулевом указателе 183
Указатель на указатель 184
Вопросы для самопроверки 186
МОДУЛЬ 5. Введение в функции 187
Основы функций 188
Общая форма определения функции 188
Создание функции 189
Использование аргументов 190
Использование предложения return 192
Возвращаемые значения 195
Использование функций в выражениях 197
Правила видимости 199
Локальная область видимости 199
Глобальная область видимости 205
Передача в функции указателей и массивов 208
Передача указателя 209
Передача массива 210
Передача строк 213
Возврат указателей 214
Функция main() 216
argc и argv: аргументы функции main() 216
Передача числовых аргументов командной строки 219
Прототипы функций 220
Заголовки содержат прототипы 222
Рекурсия 223
Проект 5-1: Быстрое упорядочение 227
Вопросы для самопроверки 231
МОДУЛЬ 6. Подробнее о функциях 233
Два подхода к передаче аргументов 234
Как C++ передает аргументы 234
Использование указателя для создания вызова по ссылке 236
Параметры-ссылки 238
Возврат ссылок 243
Независимые ссылочные переменные 246
Несколько ограничений при использовании ссылочных пере менных . . . 247
Перегрузка функций 247
Автоматическое преобразование типов и перегрузка 252
Проект 6-1: Создание перегруженных функций для вывода на экран 255
Аргументы функций с инициализацией по умолчанию 261
Аргументы с инициализацией по умолчанию или перегрузка? 263
Правильное использование аргументов с инициализацией по умолчанию 265
МОДУЛЬ 7. Подробнее о типах данных и операторах 271
Описатели const и volatile 272
const 272
volatile 274
Описатели классов памяти 275
auto 276
extern 276
Статические переменные 278
Регистровые переменные 282
Перечислимые типы 284
typedef 288
Побитовые операторы 289
Операторы И, ИЛИ, исключающее ИЛИ и НЕ 290
Операторы сдвига 295
Проект 7-1: Создание функций циклического побитового сдвига 298
Оператор? 303
Оператор-запятая 304
Множественное присваивание 306
Составное присваивание 306
Использование оператора sizeof 307
Обзор относительных приоритетов 308
Вопросы для самопроверки 309
МОДУЛЬ 8. Классы и объекты 311
Основы классов 312
Общая форма класса 312
Определение класса и создание оъектов 313
Добавление в класс функций-членов . 317
Проект 8-1: Создание класса справочника 321
Конструкторы и деструкторы 326
Параметрические конструкторы 329
Добавление конструктора в класс Vehicle 331
Другой способ инициализации 333
Встроенные функции 334
Создание встроенных функций внутри класса 336
Проект 8-2: Создание класса очереди 339
Массивы объектов 344
Инициализация массивов объектов 345
Указатели на объекты 347
Ссылки на объекты 350
Вопросы для самопроверки 350
МОДУЛЬ 9. Подробнее о классах 351
Перегрузка конструкторов 352
Присваивание объектов 353
Передача объектов функциям 355
Конструкторы, деструкторы и передача объектов 357
Передача объектов по ссылке 358
Потенциальные проблемы при передаче объектов 360
Возврат объектов 361
Создание и использование конструктора копий 363
Дружественные функции 367
Структуры и объединения 372
Структуры 372
Объединения 374
Ключевое слово this 378
Перегрузка операторов 379
Перегрузка операторов с использованием функций-членов 381
Другие вопросы 384
Использование функций-членов для перегрузки унарных операторов 385
Операторные функции-не члены 390
Использование дружественной функции для перегрузки унарного оператора 394
Советы и ограничения при перегрузке операторов 396
Проект 9-1: Создание класса, определяющего множество 397
Вопросы для самопроверки 407
МОДУЛЬ 10. Наследование, виртуальные функции и полиморфизм 409
Основы наследования 410
Доступ к членам и наследование 413
Управление доступом к базовому классу 417
Использование защищенных членов 419
Конструкторы и наследование 422
Вызов конструктора базового класса 424
Проект 10-1: Расширение класса Vehicle 429
Создание многоуровневой иерархии классов 433
Наследование от нескольких базовых классов 436
Когда выполняются функции конструктора и деструктора 437
Указатели на производные классы 439
Ссылки на производные типы 441
Виртуальные функции и полиморфизм 441
Основы виртуальных функций 441
Виртуальные функции наследуются 444
Зачем нужны виртуальные функции? 446
Приложение виртуальных функций 447
МОДУЛЬ 11. C++ и система ввода-вывода 457
Старая и новая системы ввода-вывода 458
Потоки C++ 459
Предопределенные потоки C++ 460
Потоковые классы C++ 460
Перегрузка операторов ввода-вывода 462
Создание операторных функций вывода 462
Использование дружественных функций для перегрузки операторов вывода 464
Перегрузка операторов ввода 466
Форматированный ввод-вывод 468
Форматирование с помощью функций-членов ios 468
Использование манипуляторов ввода-вывода 475
Создание собственных манипуляторных функций 477
Файловый ввод-вывод 480
Открытие и закрытие файла 480
Чтение и запись текстовых файлов 483
Неформатированный и двоичный ввод-вывод 485
Чтение и запись блоков данных 487
Больше о функция ввода-вывода 489
Другие варианты get() 489
getline() 491
Обнаружение символа EOF 491
peek() и putback() 491
flush() 492
Проект 11-1: Утилита сравнения файлов 492
Произвольный доступ 497
Определение состояния ввода-вывода 500
Вопросы для самопроверки 501
МОДУЛЬ 12. Исключения, шаблоны и другие дополнительные темы 503
Обработка исключений 504
Основы обработки исключений 504
Использование группы предложений catch 510
Улавливание всех исключений 512
Задание исключений, выбрасываемых функцией 513
Вторичное выбрасывание исключения 515
Шаблоны 517
Родовые функции 518
Функция с двумя родовыми типами 520
Явная перегрузка родовых функций 521
Родовые классы 523
Явные специализации класса 526
Проект 12-1: Создание родового класса очереди 527
Динамическое выделение памяти 531
Инициализация выделенной памяти 534
Выделение памяти под массивы 535
Выделение памяти под объекты 536
Пространства имен 540
Основы использования пространств имен 541
Предложение using 545
Безымянные пространства имен 547
Пространство имен std 547
Статические члены классов 548
Статические переменные-члены 548
Статические функции-члены 551
Динамическая идентификация типов (RTTI) 553
Операторы приведения типа 557
dynamic_cast 557
const_cast 559
static_cast 559
reinterpret_cast 560
Что дальше? 560
Вопросы для самопроверки 561
Приложение А. Ответы на Вопросы для самопроверки 563
Приложение В. Препроцессор 603
#define 604
Макросы, подобные функциям 606
#еггог 608
#include 608
Директивы условной компиляции 609
#if, #else, #elif и #endif 609
#ifdef и #ifndef 612
#undef 613
Использование defined 613
#line 614
#pragma 614
Операторы препроцессора # и ## 614
Предопределенные макросы 616
Приложение С. Работа со старым компилятором C++ 617
Два простых изменения 619
Предметный указатель 621



НЕ РАБОТАЕТ TURBOBIT.NET? ЕСТЬ РЕШЕНИЕ, ЖМИ СЮДА!

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

12 книг для изучения языка программирования С++

В сегодняшней подборке собрали 12 книг для изучения языка программирования С++. Поехали.

 

С++ для начинающих. Шаг за шагом

Добро пожаловать в мир программирования на С++. Представленный самоучитель поможет погрузиться вам в этот мир. Вы освоите азы языка, его структуру, возможности и функции. Здесь освещены многие темы:

  • типы данных;
  • операторы;
  • классы и объекты;
  • интерфейс;
  • наследование и исключения;
  • обобщенные и обнуляемые типы;
  • перегрузки;
  • виртуальные функции и прочее.

 

C++. Полное руководство

Справочник, который вобрал в себя, если не все особенности языка С++, то очень большую их часть. Всё понятно, доступно и внятно написано. Саму книгу можно поделить на 5 разделов:

  1. Знакомство с семейством С.
  2. Обзор С++.
  3. Библиотека функций.
  4. Библиотека классов.
  5. Программы на С++.

Книга будет одинаково интересна новичкам и более опытным коллегам. Первые получат полную информацию относительно самого языка, структуры, а вторые – освежат в памяти подзабытые вещи.

 

C++ для чайников

Книга для тех, кто делает первые шаги в изучении языка С++. Здесь все разжевано для максимального понимания материала. Информация подаётся последовательно (с примерами и задачами для лучшего усвоения).

Здесь рассмотрены последние версии языка, т.е. тут собраны все новые функции и возможности С++. Вы не только узнаете азы языка, но научитесь создавать цельную программу из отдельных блоков или модулей. Узнаете об ООП, и о том, как защитить свои труды от хакеров.

 

Язык программирования C++. Лекции и упражнения

Это учебник для изучения классической работы по вычислительной технике. Здесь вы узнаете о принципах программирования. Здесь будут затронуты следующие темы:

  • структура кода;
  • нисходящее проектирование;
  • применение классов;
  • наследование;
  • шаблоны исключений;
  • лямбда-выражений и прочее.

Здесь очень много разборов примеров и практических заданий для самостоятельного решения с ответами в конце.

 

Программирование на C++ в примерах и задачах

Учебник достаточно кратко и доступно охватывает все аспекты языка, с которыми постоянно сталкиваются в процессе анализа и написания эффективного кода. Книга с более практическим уклоном: теории здесь меньше, а основной упор идёт на примеры с подробным объяснением применения тех или иных методов решения задачи. И много заданий на самостоятельное решение для закрепления полученной информации.

 

Объектно-ориентированное программирование в С++

Учебник поможет овладеть объектно-ориентированным программирование (ООП) на языке C++. Книга охватывает все важные темы:

  • принципы языка;
  • готовые примеры полномасштабные программы;
  • куски кода, которые объясняют теорию практическим путем и прочее.

Для закрепления пройденного материала предлагается выполнить несколько упражнений. Всего в учебнике порядка 100 задач для самостоятельной работы. Для того, чтобы начать работу с книгой, достаточно иметь знания по основам программирования.

 

 

Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14

Название говорит само за себя: книга даёт пояснения и рекомендации по работе с С++11 и С++14. Здесь появились новые функции и возможности. Следовательно, появились новые концепции в программировании. Книга не только расскажет о новшествах, но и научит грамотно ими пользоваться. На примерах будет показано, почему то или иное решение лучше всего подходит для данного места.

Учебное пособие научит при помощи новых версий языка создавать корректные и эффективные приложения.

Охват тем значительный, книга больше рассчитана на уже достаточно опытных программистов, но и новичкам её интересно будет полистать. Правда, затем не раз к ней возвращаться.

 

Язык программирования C++. Специальное издание

Эта книга от создателя языка С++ – Бьерна Страуструпа. Автор постарался изложить все каноны и возможности языка. Кроме теории на страницах пособия вы увидите подходы и решения различных задач, которые наиболее оптимальны для каждого случая. Также здесь затронут тема ООП. Учебник рассчитан на программистов, которые уже работают с языком.

 

С++. Практика многопоточного программирования

Книга с большим количеством практики от Энтони Уильямса. Основной упор сделан именно на многопоточном программировании с использованием С++17, который был запущен в 2017 году. Изложенная здесь информация поможет создавать максимально быстрые приложения для решения задач по графической обработке, машинному обучению и так далее. Также вы узнаете о средствах параллелизма.

Книга для тех, кто хочет расширить и углубить свои знания по многопоточному программированию с параллельным изучением С++17.

 

Параллельное программирование на С++ в действии. Практика разработки многопоточных программ

Эта книга также о многопоточности, но уже на С++11. Пособие с нуля вводит в многопоточность и параллелизм. Предварительных знаний по этим темам не надо. Здесь затронуты темы потоковой модели памяти, запуска и синхронизации потоков и прочими узкими вопросами.

 

Алгоритмы на C++. Анализ структуры данных. Сортировка. Поиск. Алгоритмы на графах. Руководство

Это 3-е издание данной книги. Автор покажет читателю новые алгоритмы, попеременно чередуя теорию с практикой для более чёткого понимания.

Справочник поделен на несколько частей. В первых четырёх идёт обзор фундаментальных алгоритмов, поиск, сортировки и структуры данных. Но это более общая информация, которая применима и в других языках программирования. 5-я часть расскажет об алгоритмах на графах. Им отведена важная роль в приложениях типа сетевой связности, обработки транзакций, составлении графиков и т.д.

 

Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ

Здесь изложены методы и способы, которые помогут улучшить ваш код. Разработанные вами программы станут проще, понятнее и эффективнее. В этом же справочнике вы узнаете азы стратегии проектирования, шаблоны управления ресурсами, паттерны, обработку исключений и прочее.

Составляем план обучения и выбираем книги C++ для чайников

Большинство планов однотипны: базис, типы данных, ООП и далее. Составляем адекватный план обучения и смотрим лучшие книги C++ для начинающих.

Выстроим последовательный план, при этом постараемся оттолкнуться от заржавевшего стандарта, суть которого – предоставить только теоретическую подушку для дальнейшего использования шаблонов. Мы затронем важные технологии создания приложений, а также книги, которые с лихвой восполнят весь теоретический базис.

Для начала определитесь, нужен ли вам ментор? Если да, имеет смысл поискать его на тематических форумах, таких как CyberForum и Клуб ПРОграммистов. Если же вы хотите обучаться сами, то и в возможности что-либо исправить рассчитывайте только на себя, вооружившись полезными видеокурсами.

Любой преподаватель будет советовать один и тот же базис:

  1. Изучение объектно-ориентированного программирования.
  2. Изучение стандартной библиотеки шаблонов (STL) языка.
  3. В лучшем случае вы затронете дополнительные библиотеки и фреймворки, такие как OpenGL для рисования 2D и 3D объектов + Qt для создания кроссплатформенных приложений (прим. Skype).

Но это еще не все. Через стандартный курс будут протянуты приевшиеся «Типы данных», «Строки», «Массивы», «Циклы», «Пишем первую программу Hello World» и все в таком духе.

Нужны ли при всем этом книги C++? Бесспорно, но нужно понимать, какие именно подойдут для вашего уровня.

Допустим, вы уже знаете и принципы ООП, и по меньшей мере один ОО-язык. Тогда можете сразу отбросить в сторону основу-основу и посмотреть на следующий подпункт.

Для тех, кто знает ООП

Даже если вы относитесь к категории этих людей, все равно пробегитесь по базису с помощью данного видеокурса.

Теперь рассмотрим инструменты, которые вам пригодятся в работе, и на которые стоит обратить внимание в первую очередь:

  • Стандартная библиотека, о которой уже писалось ранее.
  • Собрание независимых библиотек BOOST.
  • Коллекция библиотек Portable Components (POCO) для упрощения создания сетевых кроссплатформенных приложений.
  • Фреймворк Qt.
  • Open Graphics Library (OpenGL) для программного интерфейса с использованием 2D и 3D графики.
  • Фреймворк JUCE прекрасно подойдет для задач с обработкой аудио, графики и построения сложных GUI.

Для «самых маленьких»

А вот в этом случае без теоретической подушки никак. Обязательно ознакомьтесь с нашим перечнем книг:

  1. C++ для чайников
  2. Язык программирования C++. Лекции и упражнения
  3. Программирование: принципы и практика использования C++
  4. Язык программирования C++. Базовый курс

Те, кто еще не на плаву, но уже имеет кое-какие представления о C++, обязательно оценят следующие материалы:

  1. A Tour of C++
  2. Философия С++. Введение в стандартный С++
  3. Наиболее эффективное использование С++

И небольшой бонус: сборник задач разного уровня для практики можно найти здесь.

Читать онлайн «C++: базовый курс» автора Шилдт Герберт — RuLit

Поскольку изучать язык программирования лучше всего путем реального программирования, мы рекомендуем читателю собственноручно выполнять приведенные в этой книге примеры на своем компьютере.

Первая С++-программа

Прежде чем зарываться в теорию, рассмотрим простую С++-программу. Начнем с вывода текста, а затем перейдем к ее компиляции и выполнению.

/* Программа №1 - Первая С++-программа.

Введите эту программу, затем скомпилируйте ее и выполните.

*/

#include <iostream>

using namespace std;

// main() - начало выполнения программы.

int main()

{

 cout << "Это моя первая С++-программа.";

 return 0;

}

Итак, вы должны выполнить следующие действия.

1. Ввести текст программы.

2. Скомпилировать ее.

3. Выполнить.

Исходный кодэто текстовая форма программы. Объектный кодэто форма программы, которую может выполнить компьютер.

Прежде чем приступать к выполнению этих действии, необходимо определить два термина: исходный код и объектный код. Исходный код — это версия программы, которую может читать человек. Приведенный выше листинг — это пример исходного кода Выполняемая версия программы называется объектным, или выполняемым, кодом.

Ввод текста программы

Программы, представленные в этой книге, можно загрузить с Web-сайта компании Osborne с адресом: www.osborne.com. При желании вы можете ввести текст программ вручную. В этом случае необходимо использовать какой-нибудь текстовый редактор (например WordPad), а не текстовой процессор (word processor). Дело в том, что при вводе текста программ должны быть созданы исключительно текстовые файлы, а не файлы, в которых вместе с текстом сохраняется информация о его форматировании. Помните, что информация о форматировании помешает работе С++-компилятора.

Имя файла, который будет содержать исходный код программы, формально может быть любым. Но С++-программы обычно хранятся в файлах с расширением .срр . Поэтому называйте свои С++-программы любыми именами, но в качестве расширения используйте .срр . Например, назовите нашу первую программу MyProg.cpp (это имя будет употребляться в дальнейших инструкциях), а для других программ (если не будет специальных указаний) выбирайте имена по своему усмотрению.

Компилирование программы

Способ компиляции программы MyProg.срр зависит от используемого компилятора и выбранных опций. Более того, многие компиляторы, например Visual C++ (Microsoft) и C++ Builder (Borland), предоставляют два различных способа компиляции программ: с помощью компилятора командной строки и интегрированной среды разработки (Integrated Development Environment — IDE). Поэтому для компилирования С++-программ невозможно дать универсальные инструкции, которые подойдут для всех компиляторов. Это значит, что вы должны следовать инструкциям, приведенным в сопроводительной документации, прилагаемой к вашему компилятору.

Но, как упоминалось выше, самыми популярными компиляторами являются Visual C++ и C++ Builder, поэтому для удобства читателей, которые их используют, мы приведем здесь инструкции по компиляции программ, соответствующие этим компиляторам. Проще всего в обоих случаях компилировать и выполнять программы, приведенные в этой книге, с использованием компиляторов командной строки. Так мы и поступим.

Чтобы скомпилировать программу МуРrog.срр, используя Visual C++, введите следующую командную строку:

C:\...>cl -GX MyProg.cpp

Опция -GX предназначена для повышения качества компиляции. Чтобы использовать компилятор командной строки Visual C++, необходимо выполнить пакетный файл VCVARS32.bat, который входит в состав Visual C++.

Учебники по программированию

C для начинающих учиться шаг за шагом

Мы представляем лучшие учебники по программированию на C для начинающих, которые изучают все элементарные и продвинутые концепции C простым и легким способом. Каждый учебник включает в себя алгоритмы, современные блок-схемы и примеры кода для помощи.

Мы разработали эти учебные пособия для программистов, чтобы они могли понимать язык программирования C с нуля. Наши учебные пособия направлены на то, чтобы поделиться с вами достаточными знаниями языка программирования C, с которого вы сможете развить свои навыки до более высокого уровня.

Чтобы дать вам краткую справку по программированию на C — это универсальный, модульный, прорывной язык программирования, разработанный в 1972 году Деннисом М. Ричи в Bell Labs. Он работал над разработкой ОС UNIX. Вскоре он стал самым распространенным языком в мире для кодирования. На протяжении многих лет он продолжал возглавлять рейтинг популярности наиболее используемых языков программирования. Он столкнулся с жесткой конкуренцией с объектно-ориентированными языками, такими как C ++ и Java. Однако они не могли сравниться с простотой использования, скоростью и производительностью, которые мог обеспечить C.

Инструкции по программированию

C

Мы рекомендуем вам сохранять концентрацию и концентрацию при чтении и практических занятиях по программированию на C в указанном порядке. Вот как вы можете добиться наилучшего результата.

1. Введение в программирование на C — настройка среды C

Это руководство содержит краткое введение в C-программирование. Вы узнаете, как настроить среду программирования C (CodeBlocks) в своей системе.

2.Ваша первая программа на C — Hello Computer

Прочтите это руководство, чтобы научиться кодировать свою первую программу на Си. Он опишет, каковы основные компоненты, которые делают его работу.

3. Понять переменные C

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

4. Понять типы данных C

Это руководство C охватывает все доступные типы данных C, объясняет их назначение и ограничения.Вы увидите схемы и примеры кода, чтобы лучше понять.

5. Операторы C — пошаговое обучение

Это руководство C охватывает все доступные операторы C и объясняет их назначение. Операторы помогают в математических и статистических вычислениях.

6. C Принятие решений: If, If-Else, Switch-Case

В этом классе программирования на C мы рассмотрим конструкции принятия решений на C, такие как C if, if-else и оператор switch-case.

7.Циклы C и Do-While

Прочтите это руководство, чтобы узнать об операциях цикла C while и do-while. Циклы являются основными конструкциями для реализации итеративного программирования.

8. C для цели цикла, блок-схемы и примера

Прочтите это руководство, чтобы узнать о цикле C for. Циклы являются основными конструкциями для реализации итеративного программирования в C.

.
C ++ Руководство по программированию для начинающих: обучение за 2 часа
Guru99
  • Home
  • Тестирование

      • Назад
      • Agile Тестирование
      • BugZilla
      • Cugumber
      • J0005
      • J0005
      • тестирование
      • Тестирование
      • Назад
      • JUnit
      • LoadRunner
      • Ручное тестирование
      • Mobile Тестирование
      • Mantis
      • Почтальон
      • QTP
      • Назад
      • Quality Center (ALM)
      • RPA
      • SAP Тестирование
      • Селен
      • SoapUI
      • Управление тестированием
      • TestLink
  • SAP

      • 900 04 Назад
      • ABAP
      • APO
      • Новичок
      • Базис
      • BODS
      • BI
      • BPC
      • CO
      • Назад
      • CRM
      • 5000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      • кристаллов
      • кристаллов
      • кристаллов
      • кристаллов 000
      • QM
      • Расчет заработной платы
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Безопасность
      • Solution Manager
      • Successfactors
      • SAP Обучение
  • веб

      • Назад
      • Apache
      • Android
      • AngularJS
      • ASP.Чистая
      • C
      • C #
      • C ++
      • CodeIgniter
      • СУБД
      • Назад
      • Java
      • JavaScript
      • JSP
      • Kotlin
      • M000 M000 js
      • Back
      • Perl
      • PHP
      • PL / SQL
      • PostgreSQL
      • Python
      • ReactJS
      • Ruby & Rails
      • Scala
      • SQL5000
      • SQL000
      • UML
      • VB.Net
      • VBScript
      • Веб-сервисы
      • WPF
  • Необходимо учиться!

      • Назад
      • Учет
      • Алгоритмы
      • Blockchain
      • Бизнес-аналитик
      • Сложение Сайт
      • CCNA
      • Cloud Computing
      • COBOL
      • Compiler Design
      • Embedded Systems
      • Назад
      • Ethical Hacking
      • Excel Учебники
      • Go Программирование
      • IoT
      • ITIL
      • Дженкинс
      • MIS
      • Networking
      • Операционная система
      • Prep
      • Назад
      • PMP
      • Photoshop Управление
      • Проект
      • Отзывы
      • Salesforce
      • SEO
      • Разработка программного обеспечения
      • VBA
  • Big Data

      • Назад
      • AWS
      • BigData
      • Cassandra
      • Cognos
      • Складирование данных
      • 000000000 HBB 000500040005000 HB
      • MongoDB
      • NiFi
      • OBIEE
      • Pentaho
      • Назад
,