Autor: Nicolai M. JosuttisWydawnictwo: Helion
Była to moja pierwsza książka o programowaniu w C++. Kupiłem ją na początku liceum i korzystam do dziś. Przyznam, że decyzja o jej zakupie nie była zbytnio przemyślana - wybrałem ją po pobieżnym przeglądnięciu spisu treści. Książka zaczyna od ogólnego wprowadzenia do programowania obiektowego, wyjaśniając typowe pojęcia, typu: polimorfizm czy hermetyzacja danych. Następnie dosyć typowo, czyli "Hello world" i opis podstaw: od instrukcji sterujących i typów danych po wskaźniki, wyjątki i zarządzanie pamięcią. Programowanie zorientowane obiektowo zaczyna sie od rozdziału czwartego, gdzie tworzymy pierwszą klasę. Następnie autor opisuje przeciążanie operatorów, rozwija temat konstruktorów i referencji aż dochodzi to obsługi błędów przez zastosowanie wyjątków. Wszystko opisane jest przystępnym i dość prostym językiem, aczkolwiek nie jest to "Symfonia C++" - stosunek treści dotyczącej programowania do ilości, stron, w tym wypadku, wychodzi na plus ;) Kolejne rozdziały traktują o dziedziczeniu, polimorfizmie a także o składowych dynamicznych i statycznych, którym autor poświęca dość dużo uwagi. Nieco mniej miejsca przeznacza na szablony i bibliotekę STL, ale od tego są już inne pozycje na rynku. W wielu przypadkach autor skupia się na szczegółach działania poszczególnych kawałków kodu, np. konstruktorów czy przeciążonych operatorów. W jasny sposób tłumaczy zasady ich działania, ucząc wielu dobrych praktyk programowania. Wspomina także o aspektach często pomijanych w innych podręcznikach (wyszukiwanie Koeninga, czy wskaźniki na składowe klas). Bardzo dobrze wytłumaczone jest dynamiczne zarządzanie pamięcią na przykładzie klasy zarządzającej łańcuchami znaków. Nawet po zaznajomieniu się z całością książki nie odstawimy jej na półkę, by mogła pokryć się grubą warstwą kurzu. Jasny i czytelny układ wraz z dobrze opracowanym indeksem, pomagają w szybkim wyszukiwaniu konkretnych informacji. Podsumowywując - książka będzie idealnym prezentem dla osób chcących uporządkować bądź pogłębić swoja wiedzę na temat programowania w C++ ;)
Brak komentarzy:
Prześlij komentarz