User nulled Posted February 6, 2022 User Report 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
User magicism Posted March 26, 2024 User Report Posted March 26, 2024 читал на досуге, временами годно и современно для старта в плюсы AndrewPro 1 Quote
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.