464 страницы. Питер, 2021
В соавторстве с Юрием Абрамовичем Щупаком Татьяна Александровна выпустила практикумы по структурному (239 с.) и объектно-ориентированному программированию (265 с.). Разделы озаглавлены как «семинары», то есть это методическая поддержка для преподавателя, а не что-то полезное для студента.
Книга по несуществующему языку C/C++. Структурное программирование, ООП и библиотека.
В начале: алфавит, лексема... ну сколько можно. Форматирование, конечно, будет плохим, порой — «стеночкой». С транслитом (sort_vybor).
Терминология местами вольная: то «помеченный оператор» (совсем не оператор), то «метка».
int k;
goto metka; ...
{int a = 3, b = 4;
k = a + b;
metka: int m = k + 1; ...
}
20 лет зарабатывают на методичке.
Для операционной системы MS-DOS sizeof (int) даст в результате 2, а для Windows 9X или OS/2 результатом будет 4.
И конечно же, никто не собирается освобождать память сразу после параграфа про это.
Хочу — выбираю стиль C, хочу — C++. new из C++, например, автор показала, но работа с файлами, самописные списки и деревья — будут написаны в стиле C.
В индустрии есть много разных стандартов оформления, весьма сомнительно, что какой-то из них рекомендует классы именовать с маленькой буквы, а объекты — с большой:
monstr Vasia;
А теперь время серьёзных претензий. Автор предлагает добавлять в обыкновенный двусвязный список элементы по ключу, который и не ключ вовсе, а позиция в списке. Причём и «ключ», и данные должны быть почему-то одного типа.
template <class Data>
Node * List <Data>::insert(Data key, Data d){
...
}
В идеале позицию должен задавать итератор — объект специального класса. В учебном коде это может быть и просто целое число, допустим. И самый сложный «трюк» — константная ссылка для передачи значения (просто передача по значению может привести к лишнему копированию сложного объекта, просто ссылки тоже мало, будут проблемы с простейшими типами, например, int: list.insert(..., 7); не скомпилируется). Про аллокаторы умолчим. Перепишем.
template <typename V>
iterator List<V>::insert(iterator position, const V& value)
{
...
}
Учебник содержит много полезных вещей, особенно копипасты документации, но автор не утруждает себя какими-то объяснениями: «Шаблоны методов не могут быть виртуальными». А почему?
Приложения: операции языка C++, printf(), арифметические преобразования типов, заголовочные файлы стандартной библиотеки; константы, макросы и типы стандартной библиотеки; функции стандартной библиотеки, таблицы кодов ASCII.
528 страниц. БХВ-Петербург, 2006
Конспекты. Можно использовать как справочник. Кое-что устарело.
Автор также выпустил книгу о программировании под Windows.
560 страниц. Финансы и статистика, 2003
Темы C++03, кажется, освещены многие, если не все. Но отовсюду веет формализмом. Вот характерный пример.
Кроме типов, для объектов явно либо по умолчанию определяются:
Не очень понятно, что с этой информацией делать. Трудно пробираться через все эти области (сферы).
К пущему сожалению, не обошлось без 16-битной древности и <dos.h>.
Приложения: таблицы кодов ASCII, константы предельных значений, библиотека C, графическая библиотека BC++, потоковый ввод-вывод, библиотечные классы.
448 страниц. БХВ-Петербург, 2008
Книга начинается с анекдота про школьника, компьютер и пианино. Потом идут какие-то непонятные схемы про стоимость программ, внешние зависимости, функциональную декомпозицию и ещё бог знает что.
Когда дело доходит до языка, читателя грузят таблицами с операторами.
В выходных данных сказано: «Для программистов и разработчиков встраиваемых систем». Но почему бы не описать шаблоны функций? Это возможность из C++, не касающаяся ООП.
Что остаётся от C++? Ссылки, new, cout, bool и новые операторы преобразования типов? Давайте поищем книгу получше.
Приложения: представление данных, C и низкоуровневое программирование.
432 страницы. БХВ-Петербург, 2004
Книга начинается, как я понял, с творчества автора:
Спят подружки вредные безмятежным сном,
Снятся мышкам хлебные крошки по столом,
Буратинам — досточки, кошкам — караси,
Всем собакам — косточки, программистам — Си.
Главы книги: «Анализ и проектирование программ», «Программист „начинающий“», «Программист „системный“», «Программист „объектно-ориентированный“». Вот такая классификация.
К книге — все «классические» придирки. Код никак не оформлен. К тому же он набран рубленой гарнитурой (а не моноширинной), но со странным кернингом, из-за этого возникает ощущение, что читаешь китайскую этикетку.
647 страниц. Бук-пресс, 2006
Главы: C, C++, отладчик Turbo Debugger, Турбо Си++, трюки программирования.
int x = 1; /* Variable definitions */
int y = 1;
extern int printf(char *,...);/* Function declration */
main () /* Function definition
for main function */
int z; /* Variable declarations */
int w;
z = y + x; /* Executable statements */
w = y - x;
printf("z = %d \nw = %d \n", z, x);
Даже не спрашивайте.
Где-то в середине затесался справочник по работе с DOS.
Дальше смотреть бессмысленно.
Приложение: средства для разработчиков.
См. отдельный обзор.
384 страницы. СОЛОН-Пресс, 2017
Очередная книга-оборотень про C++ Builder.
Автор также написал книги: «Компьютер на любительской радиостанции» и «Азбука УКВ. Как построить трансивер».
352 страницы. БХВ, 2004
Немного про сети, много про WinAPI. Это книга не про C++, а про логику в обработчиках событий.
Автор также написал: «PHP глазами хакера», «Компьютер глазами хакера», «Web-сервер глазами хакера», «Linux глазами хакера», «Библия Delphi», «Delphi глазами хакера», «Delphi 2005. Секреты программирования».
256 страниц. БХВ, 2006
Книга про Direct3D.
512 страниц. БХВ, 2006
Типичная методичка с типичными проблемами.
Потенциально интересный раздел «Верификация программы» — просто небольшая копипаста.
352 страницы. Питер, 2010
Не первая книга с таким названием. На этот раз «трюки» — это приёмы работы с WinAPI.
320 страниц. Бук-пресс, 2006
Части: введение в C++, Турбо C++, «От теории к практике». Первая часть сумбурная, вторая устаревшая, третья — беспорядочный сборник тем: правило «право-лево», что-то про STL, умные указатели, немного про виртуальность, «чтение исходных текстов», функцию gets(), «свойства», комментарии, веб-программирование, «ошибки работы с памятью» и т. д. (эти темы идут подряд).
Примеров кода мало, это всё больше схемы. Код, само собой, «стеночкой». Для кого это всё и для чего — совершенно не понятно.