Часть VI. Работа с файлами, сериализация объектов и доступ к данным....19
Глава 20.Файловый ввод-вывод и сериализация объектов....20
Глава 21.Доступ к данным с помощью ADO.NET....61
Часть VII. Entity Framework Core....125
Глава 22.Введение в Entity Framework Core....126
Глава 23.Построение уровня доступа к данным с помощью Entity Framework Core....183
Часть VIII.Разработка клиентских приложений для Windows....265
Глава 24.Введение в Windows Presentation Foundation и XAML....266
Глава 25.Элементы управления, компоновки, события и привязка данных в WPF....302
Глава 26.Службы визуализации графики WPF....363
Глава 27.Ресурсы, анимация, стили и шаблоны WPF....399
Глава 28.Уведомления WPF, проверка достоверности, команды MVVM....439
Часть IX. ASP.NET Core....477
Глава 29.Введение в ASP.NET Core....478
Глава 30.Создание служб REST с помощью ASP.NET Core....530
Глава 31.Создание приложений MVC с помощью ASP.NET Core....555
Предметный указатель....627
Practice your C++ programming logic skills with this book!
The book presents 160 exercises and they are all solved.
В двух словах: Это сборник задач по программированию на C++ с готовыми решениями. Книга предлагает большой объём однотипных упражнений для отработки базовых конструкций языка — от «Hello World» до массивов, строк и простых алгоритмов. Однако качество представленных решений, оформление кода и методическая ценность вызывают серьёзные вопросы.
О чём книга и для кого она?
По замыслу автора, это практический тренажёр для начинающих, которые уже знакомы с основами и хотят «набить руку». Задачи разбиты по темам:
Всего в книге 160 упражнений. К каждому даётся полный код решения на C++ с
#include <iostream>иmain().Что понравилось (плюсы)
Что серьёзно разочаровало (минусы)
#include <iomanip>при использованииstd::setw(упражнение 9 – там нет этого include, хотя код его использует).using namespace std;? Нет, вездеstd::, но при этом синтаксис местами ломаный: например, в упражнении 18std::cout << "The perimeter (circumference) of the circle with radius" << radius << "is:" <<– строка обрывается, нет закрывающей скобки и точки с запятой.int i=0; i<=END_POINT; i+=STEP_SIZE– так делать нельзя, потому чтоiцелое, аSTEP_SIZEдробное. Компилятор выдаст предупреждение, а логика цикла сломается.result /= baseв цикле, ноresultизначально1.0. Работает, но странно.std::cin.ignore()используется хаотично – то есть, то нет).(year % 4 == 0 && year % 100 != 0) || year % 400 == 0– верное, но в коде используетсяyear % 4 == 0 && year % 100 != 0без скобок вокруг И, а затем||. Приоритет операторов в C++ таков, что&&выше||, так что выражение эквивалентно(year % 4 == 0 && year % 100 != 0) || year % 400 == 0– на самом деле правильно, но новичок может запутаться.std::sort, но не подключён<algorithm>. В предоставленном коде#include<algorithm>есть? Нет, только упоминание в комментарии.candidateинициализируется-1, но если массив состоит из отрицательных чисел, это сломается. Никакой проверки на случай пустого массива.std::vector, но код написан так, будто автор не до конца понимает разницу между массивом и вектором.// Increment the counter). Не объясняется, почему выбран именно такой алгоритм, какие есть альтернативы, на что обратить внимание. Это сборник «решебника», а не учебник.for (int i = 0; i < sentence.length(); i++)и телом цикла).main.#includeнаписаноinclude(без решётки).doubleитерации цикла). Человек-редактор, судя по всему, только вычистил явные ошибки, но не переработал архитектуру решений.Итог: нужна ли вам эта книга?
Если вы абсолютный новичок, который хочет просто набрать много строчек кода, не вникая в качество – возможно, да. Но вы рискуете нахвататься плохих привычек.
Если вы студент, которому нужны задачи для семинара – вы можете взять отсюда идеи, но решения лучше переписывать самостоятельно.
Если вы преподаватель – книгу можно использовать как банк формулировок задач, но не как эталон решений.
Если вы опытный программист, переходящий на C++ – книга вам не нужна, возьмите лучше «C++ Primer» или «Programming: Principles and Practice using C++» (Страуструп).
Резюме: Книга – сырой, плохо отредактированный сборник задач с посредственными решениями. Её основная ценность – количество упражнений (160 штук), но качество оставляет желать лучшего. Перед покупкой настоятельно рекомендую посмотреть несколько случайных страниц – если опечатки и ломаный код вас не смущают, может, она и подойдёт. В противном случае, лучше поискать бесплатные онлайн-сборники задач по C++ (например, на Codewars, LeetCode или в отечественных методичках).
Оценка: 4 из 10.
(Баллы сняты за низкое качество кода, отсутствие объяснений, плохую редактуру и сомнительную методическую ценность.)В двух словах: Это сборник задач по программированию на C++ с готовыми решениями. Книга предлагает большой объём однотипных упражнений для отработки базовых конструкций языка — от «Hello World» до массивов, строк и простых алгоритмов. Однако качество представленных решений, оформление кода и методическая ценность вызывают серьёзные вопросы.