User nulled Posted February 6, 2022 User Report Share Posted February 6, 2022 Автор: Ravesli Издательство: Самиздат Жанр: Программирование Формат: PDF Качество: Изначально электронное (ebook) Иллюстрации: Цветные и черно-белые Страниц: 1655+115 ОПИСАНИЕ: C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. С его помощью создают операционные системы, разнообразные прикладные программы, драйверы устройств, игры и пр. "Самоучитель по С++" включает в себя "Уроки по С++". "Бонус" включает в себя "Пошаговое создание игры на С++/MFC" и "Практические задания по С++" СОДЕРЖАНИЕ: Спойлер ПРЕДИСЛОВИЕ ................................................................................................................... 15 Глава №0. Введение. Начало работы Урок №1. Введение в программирование .................................................................... 18 Урок №2. Введение в языки программирования C и С++ ........................................... 22 Урок №3. Введение в разработку программных продуктов ...................................... 24 Урок №4. Установка IDE (Интегрированной Среды Разработки) ................................ 30 Урок №5. Компиляция вашей первой программы ...................................................... 34 Урок №6. Режимы конфигурации «Debug» и «Release» ............................................. 44 Урок №7. Конфигурация компилятора: Расширения компилятора .......................... 46 Урок №8. Конфигурация компилятора: Уровни предупреждений и ошибки ......... 50 Урок №9. Конфигурация компилятора: Выбор стандарта языка С++ ........................ 58 Урок №10. Решения самых распространенных проблем ............................................ 64 Глава №1. Основы C++ Урок №11. Структура программ ...................................................................................... 70 Урок №12. Комментарии ................................................................................................. 75 Урок №13. Переменные, Инициализация и Присваивание ........................................ 81 Урок №14. cout, cin и endl ................................................................................................ 86 Урок №15. Функции и оператор возврата return .......................................................... 89 Урок №16. Параметры и аргументы функций .............................................................. 99 Урок №17. Почему функции – полезны, и как их эффективно использовать? ..... 105 Урок №18. Локальная область видимости .................................................................. 107 Урок №19. Ключевые слова и идентификаторы ........................................................ 110 Урок №20. Операторы .................................................................................................... 115 Урок №21. Базовое форматирование кода ................................................................. 117 Урок №22. Прототип функции и Предварительное объявление ............................. 121 Урок №23. Многофайловые программы ..................................................................... 127 ravesli.com math.cpp@yandex.com 3 Самоучитель «Уроки по С++» Урок №24. Заголовочные файлы .................................................................................. 136 Урок №25. Директивы препроцессора ........................................................................ 142 Урок №26. Header guards и #pragma once .................................................................... 147 Урок №27. Конфликт имен и std namespace ............................................................... 152 Урок №28. Разработка ваших первых программ ....................................................... 155 Урок №29. Отладка программ: степпинг и точки останова....................................... 164 Урок №30. Отладка программ: стек вызовов и отслеживание переменных ......... 178 Глава №1. Итоговый тест ................................................................................................ 189 Глава №2. Переменные и основные типы данных в C++ Урок №31. Инициализация, присваивание и объявление переменных ................. 190 Урок №32. Тип данных void ........................................................................................... 197 Урок №33. Размер типов данных .................................................................................. 198 Урок №34. Целочисленные типы данных: short, int и long ....................................... 203 Урок №35. Фиксированный размер целочисленных типов данных ....................... 212 Урок №36. Типы данных с плавающей точкой: float, double и long double ............ 216 Урок №37. Логический тип данных bool ...................................................................... 225 Урок №38. Символьный тип данных char .................................................................... 231 Урок №39. Литералы и магические числа ................................................................... 241 Урок №40. const, constexpr и символьные константы ............................................... 247 Глава №2. Итоговый тест ................................................................................................ 253 Глава №3. Операторы в C++ Урок №41. Приоритет операций и правила ассоциативности .................................. 256 Урок №42. Арифметические операторы ...................................................................... 264 Урок №43. Инкремент, декремент и побочные эффекты ......................................... 270 Урок №44. Условный тернарный оператор, оператор sizeof и Запятая .................. 274 Урок №45. Операторы сравнения ................................................................................. 279 Урок №46. Логические операторы: И, ИЛИ, НЕ ........................................................... 285 Урок №47. Конвертация чисел из двоичной системы в десятичную и наоборот .. 293 ravesli.com math.cpp@yandex.com 4 Самоучитель «Уроки по С++» Урок №48. Побитовые операторы ................................................................................ 303 Урок №49. Битовые флаги и битовые маски ............................................................... 310 Глава №3. Итоговый тест ................................................................................................ 320 Глава №4. Область видимости и другие типы переменных в C++ Урок №50. Блоки стейтментов (составные операторы) ............................................. 322 Урок №51. Локальные переменные, область видимости и продолжительность жизни ................................................................................................................................ 325 Урок №52. Глобальные переменные ........................................................................... 332 Урок №53. Почему глобальные переменные – зло? ................................................. 340 Урок №54. Статические переменные ........................................................................... 346 Урок №55. Связи, область видимости и продолжительность жизни ...................... 349 Урок №56. Пространства имен ...................................................................................... 353 Урок №57. using-стейтменты ......................................................................................... 359 Урок №58. Неявное преобразование типов данных .................................................. 363 Урок №59. Явное преобразование типов данных ...................................................... 370 Урок №60. Введение в std::string .................................................................................. 374 Урок №61. Перечисления ............................................................................................... 380 Урок №62. Классы enum ................................................................................................. 388 Урок №63. Псевдонимы типов: typedef и type alias ................................................... 392 Урок №64. Структуры ...................................................................................................... 396 Урок №65. Вывод типов: ключевое слово auto .......................................................... 406 Глава №4. Итоговый тест ................................................................................................ 410 Глава №5. Порядок выполнения кода в программе. Циклы, ветвления в C++ Урок №66. Операторы управления потоком выполнения программ ..................... 412 Урок №67. Операторы условного ветвления if/else ................................................... 416 Урок №68. Оператор switch ........................................................................................... 424 Урок №69. Оператор goto .............................................................................................. 432 Урок №70. Цикл while ..................................................................................................... 434 ravesli.com math.cpp@yandex.com 5 Самоучитель «Уроки по С++» Урок №71. Цикл do while................................................................................................ 441 Урок №72. Цикл for ......................................................................................................... 443 Урок №73. Операторы break и continue ....................................................................... 451 Урок №74. Генерация случайных чисел ....................................................................... 457 Урок №75. Обработка некорректного пользовательского ввода ............................ 467 Урок №76. Введение в тестирование кода .................................................................. 478 Глава №5. Итоговый тест ................................................................................................ 488 Глава №6. Массивы, Строки, Указатели и Ссылки в C++ Урок №77. Массивы ........................................................................................................ 492 Урок №78. Фиксированные массивы ........................................................................... 497 Урок №79. Массивы и циклы ........................................................................................ 505 Урок №80. Сортировка массивов методом выбора ................................................... 510 Урок №81. Многомерные массивы .............................................................................. 517 Урок №82. Строки C-style ............................................................................................... 521 Урок №83. Введение в класс std::string_view .............................................................. 527 Урок №84. Указатели ...................................................................................................... 537 Урок №85. Нулевые указатели ...................................................................................... 546 Урок №86. Указатели и массивы ................................................................................... 549 Урок №87. Адресная арифметика и индексация массивов ...................................... 555 Урок №88. Символьные константы строк C-style ........................................................ 560 Урок №89. Динамическое выделение памяти ........................................................... 563 Урок №90. Динамические массивы ............................................................................. 572 Урок №91. Указатели и const ......................................................................................... 576 Урок №92. Ссылки ........................................................................................................... 580 Урок №93. Ссылки и const .............................................................................................. 586 Урок №94. Оператор доступа к членам через указатель .......................................... 589 Урок №95. Цикл foreach ................................................................................................. 591 Урок №96. Указатели типа void ..................................................................................... 596 Урок №97. Указатели на указатели............................................................................... 599 ravesli.com math.cpp@yandex.com 6 Самоучитель «Уроки по С++» Урок №98. Введение в std::array ................................................................................... 603 Урок №99. Введение в std::vector ................................................................................. 607 Урок №100. Введение в итераторы .............................................................................. 611 Урок №101. Алгоритмы в Стандартной библиотеке С++ ........................................... 618 Глава №6. Итоговый тест ................................................................................................ 626 Глава №7. Функции в C++ Урок №102. Параметры и аргументы функций .......................................................... 635 Урок №103. Передача по значению ............................................................................. 638 Урок №104. Передача по ссылке .................................................................................. 641 Урок №105. Передача по адресу ................................................................................... 647 Урок №106. Возврат значений по ссылке, по адресу и по значению ...................... 654 Урок №107. Встроенные функции ................................................................................ 661 Урок №108. Перегрузка функций ................................................................................. 664 Урок №109. Параметры по умолчанию ....................................................................... 670 Урок №110. Указатели на функции .............................................................................. 674 Урок №111. Стек и Куча .................................................................................................. 686 Урок №112. Ёмкость вектора ......................................................................................... 693 Урок №113. Рекурсия и Числа Фибоначчи ................................................................... 699 Урок №114. Обработка ошибок, cerr и exit() ............................................................... 707 Урок №115. assert и static_assert ................................................................................... 714 Урок №116. Аргументы командной строки ................................................................. 717 Урок №117. Эллипсис ..................................................................................................... 725 Урок №118. Лямбда-выражения .................................................................................. 733 Урок №119. Лямбда-захваты ......................................................................................... 747 Глава №7. Итоговый тест ................................................................................................ 764 Глава №8. Основы ООП в C++ Урок №120. Введение в ООП ......................................................................................... 770 Урок №121. Классы, Объекты и Методы ..................................................................... 772 ravesli.com math.cpp@yandex.com 7 Самоучитель «Уроки по С++» Урок №122. Спецификаторы доступа public и private ................................................ 780 Урок №123. Инкапсуляция, Геттеры и Сеттеры .......................................................... 787 Урок №124. Конструкторы ............................................................................................. 794 Урок №125. Список инициализации членов класса ................................................... 803 Урок №126. Инициализация нестатических членов класса ...................................... 812 Урок №127. Делегирующие конструкторы ................................................................. 816 Урок №128. Деструкторы ............................................................................................... 821 Урок №129. Скрытый указатель *this ........................................................................... 826 Урок №130. Классы и заголовочные файлы ................................................................ 832 Урок №131. Классы и const ............................................................................................ 838 Урок №132. Статические переменные-члены класса ................................................ 844 Урок №133. Статические методы класса ..................................................................... 850 Урок №134. Дружественные функции и классы ......................................................... 855 Урок №135. Анонимные объекты ................................................................................. 865 Урок №136. Вложенные типы данных в классах ........................................................ 871 Урок №137. Измерение времени выполнения (тайминг) кода ............................... 874 Глава №8. Итоговый тест ................................................................................................ 880 Глава №9. Перегрузка операторов в C++ Урок №138. Введение в перегрузку операторов ........................................................ 893 Урок №139. Перегрузка операторов через дружественные функции .................... 897 Урок №140. Перегрузка операторов через обычные функции ................................ 907 Урок №141. Перегрузка операторов ввода и вывода ................................................ 910 Урок №142. Перегрузка операторов через методы класса ....................................... 917 Урок №143. Перегрузка унарных операторов +, - и логического НЕ ........................ 922 Урок №144. Перегрузка операторов сравнения ......................................................... 925 Урок №145. Перегрузка операторов инкремента и декремента ............................. 929 Урок №146. Перегрузка оператора индексации [] ..................................................... 934 Урок №147. Перегрузка оператора () ........................................................................... 943 Урок №148. Перегрузка операций преобразования типов данных ......................... 949 ravesli.com math.cpp@yandex.com 8 Самоучитель «Уроки по С++» Урок №149. Конструктор копирования ........................................................................ 953 Урок №150. Копирующая инициализация .................................................................. 960 Урок №151. Конструкторы преобразования, ключевые слова explicit и delete ..... 964 Урок №152. Перегрузка оператора присваивания ..................................................... 970 Урок №153. Поверхностное и глубокое копирование ............................................... 976 Глава №9. Итоговый тест ................................................................................................ 983 Глава №10. Введение в связи между объектами в C++ Урок №154. Типы связей между объектами ............................................................... 990 Урок №155. Композиция объектов ............................................................................... 992 Урок №156. Агрегация .................................................................................................. 1000 Урок №157. Ассоциация ............................................................................................... 1006 Урок №158. Зависимость ............................................................................................. 1013 Урок №159. Контейнерные классы ............................................................................. 1015 Урок №160. Список инициализации std::initializer_list ............................................ 1026 Глава №10. Итоговый тест ............................................................................................ 1033 Глава №11. Наследование в C++ Урок №161. Введение в Наследование ...................................................................... 1036 Урок №162. Базовое наследование ............................................................................ 1039 Урок №163. Порядок построения дочерних классов ............................................... 1048 Урок №164. Конструкторы и инициализация дочерних классов ........................... 1054 Урок №165. Наследование и спецификатор доступа protected ............................. 1065 Урок №166. Добавление нового функционала в дочерний класс ......................... 1074 Урок №167. Переопределение методов родительского класса ............................ 1077 Урок №168. Сокрытие методов родительского класса ........................................... 1082 Урок №169. Множественное наследование ............................................................. 1085 Глава №11. Итоговый тест ............................................................................................ 1090 ravesli.com math.cpp@yandex.com 9 Самоучитель «Уроки по С++» Глава №12. Виртуальные функции в C++ Урок №170. Указатели/Ссылки и Наследование ...................................................... 1102 Урок №171. Виртуальные функции и Полиморфизм .............................................. 1108 Урок №172. Модификаторы override и final ............................................................. 1120 Урок №173. Виртуальные деструкторы и Виртуальное присваивание ................. 1125 Урок №174. Раннее и Позднее Связывания .............................................................. 1128 Урок №175. Виртуальные таблицы ............................................................................ 1132 Урок №176. Чистые виртуальные функции, Интерфейсы и Абстрактные классы ............................................................................................................................. 1137 Урок №177. Виртуальный базовый класс .................................................................. 1145 Урок №178. Обрезка объектов .................................................................................... 1150 Урок №179. Динамическое приведение типов. Оператор dynamic_cast .............. 1156 Урок №180. Вывод объектов классов через оператор вывода .............................. 1163 Глава №12. Итоговый тест ............................................................................................ 1168 Глава №13. Шаблоны в C++ Урок №181. Шаблоны функций .................................................................................. 1176 Урок №182. Экземпляры шаблонов функций ........................................................... 1181 Урок №183. Шаблоны классов .................................................................................... 1191 Урок №184. Параметр non-type в шаблоне ............................................................... 1200 Урок №185. Явная специализация шаблона функции ............................................. 1202 Урок №186. Явная специализация шаблона класса ................................................. 1206 Урок №187. Частичная специализация шаблона ...................................................... 1211 Урок №188. Частичная специализация шаблонов и Указатели .............................. 1221 Глава №13. Итоговый тест ............................................................................................ 1227 Глава №14. Исключения в C++ Урок №189. Исключения. Зачем они нужны? ........................................................... 1230 Урок №190. Обработка исключений. Операторы throw, try и catch ...................... 1233 Урок №191. Исключения, Функции и Раскручивание стека .................................... 1240 ravesli.com math.cpp@yandex.com 10 Самоучитель «Уроки по С++» Урок №192. Непойманные исключения и обработчики catch-all........................... 1246 Урок №193. Классы-Исключения и Наследование ................................................... 1250 Урок №194. Повторная генерация исключений ....................................................... 1260 Урок №195. Функциональный try-блок ..................................................................... 1266 Урок №196. Недостатки и опасности использования исключений ........................ 1270 Глава №14. Итоговый тест ............................................................................................ 1275 Глава №15. Умные указатели и Семантика перемещения в C++ Урок №197. Умные указатели и Семантика перемещения..................................... 1277 Урок №198. Ссылки r-value .......................................................................................... 1288 Урок №199. Конструктор перемещения и Оператор присваивания перемещением .............................................................................................................. 1295 Урок №200. Функция std::move() ................................................................................ 1310 Урок №201. Умный указатель std::unique_ptr .......................................................... 1315 Урок №202. Умный указатель std::shared_ptr ........................................................... 1326 Урок №203. Умный указатель std::weak_ptr ............................................................. 1332 Глава №15. Итоговый тест ............................................................................................ 1339 Глава №16. Стандартная библиотека шаблонов (STL) в C++ Урок №204. Стандартная библиотека шаблонов (STL) ............................................. 1342 Урок №205. Контейнеры STL ........................................................................................ 1343 Урок №206. Итераторы STL .......................................................................................... 1347 Урок №207. Алгоритмы STL ......................................................................................... 1352 Глава №17. std::string в C++ Урок №208. Строковые классы std::string и std::wstring .......................................... 1355 Урок №209. Создание, уничтожение и конвертация std::string ............................. 1360 Урок №210. Длина и ёмкость std::string..................................................................... 1366 Урок №211. Доступ к символам std::string. Конвертация std::string в строки C- style.................................................................................................................................. 1372 ravesli.com math.cpp@yandex.com 11 Самоучитель «Уроки по С++» Урок №212. Присваивание и перестановка значений с std::string ......................... 1376 Урок №213. Добавление к std::string .......................................................................... 1380 Урок №214. Вставка символов и строк в std::string .................................................. 1384 Глава №18. Ввод/Вывод в C++ Урок №215. Потоки ввода и вывода .......................................................................... 1388 Урок №216. Функционал класса istream .................................................................... 1392 Урок №217. Функционал классов ostream и ios. Форматирование вывода ......... 1397 Урок №218. Потоковые классы и Строки ................................................................... 1408 Урок №219. Состояния потока и валидация пользовательского ввода ................ 1412 Урок №220. Базовый файловый ввод и вывод ......................................................... 1420 Урок №221. Рандомный файловый ввод и вывод ................................................... 1427 Дополнительные уроки Статические и динамические библиотеки ................................................................. 1433 Подключение и использование библиотек в Visual Studio ..................................... 1437 C++11. Нововведения .................................................................................................... 1445 C++14. Нововведения .................................................................................................... 1447 C++17. Нововведения .................................................................................................... 1448 C++20. Нововведения .................................................................................................... 1449 Спецификации исключений и спецификатор noexcept ........................................... 1453 Функция std::move_if_noexcept() ................................................................................ 1459 Финал Конец. Что дальше? ...................................................................................................... 1465 Ответы на Тесты Ответы: Урок №11 ......................................................................................................... 1470 Ответы: Урок №13 ......................................................................................................... 1471 Ответы: Урок №15 ......................................................................................................... 1472 ravesli.com math.cpp@yandex.com 12 Самоучитель «Уроки по С++» Ответы: Урок №16 ......................................................................................................... 1473 Ответы: Урок №18 ......................................................................................................... 1475 Ответы: Урок №19 ......................................................................................................... 1476 Ответы: Урок №22 ......................................................................................................... 1477 Ответы: Урок №23 ......................................................................................................... 1478 Ответы: Урок №26 ......................................................................................................... 1479 Ответы: Глава №1. Итоговый тест ............................................................................... 1480 Ответы: Урок №36 ......................................................................................................... 1482 Ответы: Урок №37 ......................................................................................................... 1483 Ответы: Глава №2. Итоговый тест ............................................................................... 1484 Ответы: Урок №41 ......................................................................................................... 1487 Ответы: Урок №42 ......................................................................................................... 1488 Ответы: Урок №46 ......................................................................................................... 1490 Ответы: Урок №47 ......................................................................................................... 1491 Ответы: Урок №48 ......................................................................................................... 1494 Ответы: Урок №49 ......................................................................................................... 1495 Ответы: Глава №3. Итоговый тест ............................................................................... 1496 Ответы: Урок №51 ......................................................................................................... 1498 Ответы: Урок №52 ......................................................................................................... 1499 Ответы: Урок №54 ......................................................................................................... 1500 Ответы: Урок №58 ......................................................................................................... 1501 Ответы: Урок №60 ......................................................................................................... 1502 Ответы: Урок №61 ......................................................................................................... 1503 Ответы: Урок №63 ......................................................................................................... 1504 Ответы: Урок №64 ......................................................................................................... 1505 Ответы: Глава №4. Итоговый тест ............................................................................... 1507 Ответы: Урок №68 ......................................................................................................... 1509 Ответы: Урок №70 ......................................................................................................... 1511 Ответы: Урок №72 ......................................................................................................... 1513 Ответы: Урок №76 ......................................................................................................... 1514 ravesli.com math.cpp@yandex.com 13 Самоучитель «Уроки по С++» Ответы: Глава №5. Итоговый тест ............................................................................... 1515 Ответы: Урок №78 ......................................................................................................... 1518 Ответы: Урок №79 ......................................................................................................... 1519 Ответы: Урок №80 ......................................................................................................... 1521 Ответы: Урок №84 ......................................................................................................... 1524 Ответы: Урок №90 ......................................................................................................... 1526 Ответы: Урок №95 ......................................................................................................... 1528 Ответы: Урок №96 ......................................................................................................... 1529 Ответы: Глава №6. Итоговый тест ............................................................................... 1530 Ответы: Урок №106 ....................................................................................................... 1541 Ответы: Урок №110 ....................................................................................................... 1542 Ответы: Урок №113 ....................................................................................................... 1547 Ответы: Урок №118 ....................................................................................................... 1549 Ответы: Урок №119 ....................................................................................................... 1551 Ответы: Глава №7. Итоговый тест ............................................................................... 1555 Ответы: Урок №121 ....................................................................................................... 1558 Ответы: Урок №122 ....................................................................................................... 1559 Ответы: Урок №124 ....................................................................................................... 1563 Ответы: Урок №125 ....................................................................................................... 1566 Ответы: Урок №126 ....................................................................................................... 1567 Ответы: Урок №134 ....................................................................................................... 1569 Ответы: Глава №8. Итоговый тест ............................................................................... 1574 Ответы: Урок №139 ....................................................................................................... 1595 Ответы: Урок №141 ....................................................................................................... 1599 Ответы: Урок №143 ....................................................................................................... 1601 Ответы: Урок №144 ....................................................................................................... 1602 Ответы: Урок №146 ....................................................................................................... 1605 Ответы: Урок №147 ....................................................................................................... 1608 Ответы: Глава №9. Итоговый тест ............................................................................... 1609 Ответы: Урок №156 ....................................................................................................... 1618 ravesli.com math.cpp@yandex.com 14 Самоучитель «Уроки по С++» Ответы: Урок №160 ....................................................................................................... 1620 Ответы: Глава №10. Итоговый тест ............................................................................. 1622 Ответы: Урок №164 ....................................................................................................... 1623 Ответы: Глава №11. Итоговый тест ............................................................................. 1625 Ответы: Урок №170 ....................................................................................................... 1638 Ответы: Урок №171 ....................................................................................................... 1640 Ответы: Урок №176 ....................................................................................................... 1642 Ответы: Глава №12. Итоговый тест ............................................................................. 1643 Ответы: Глава №13. Итоговый тест ............................................................................. 1648 Ответы: Глава №14. Итоговый тест ............................................................................. 1650 Ответы: Урок №198 ....................................................................................................... 1651 Ответы: Урок №201 ....................................................................................................... 1652 Ответы: Урок №203 ....................................................................................................... 1653 Ответы: Глава №15. Итоговый тест ............................................................................. 1654 Torrent link: magnet:?xt=urn:btih:9965641198F99554A3E5CE0711A0ACA0F309FE8F Fandoc 1 Quote Link to comment Share on other sites More sharing options...
User magicism Posted March 26 User Report Share Posted March 26 читал на досуге, временами годно и современно для старта в плюсы AndrewPro 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.