C++ jest dojrzałym językiem programowania, od wielu lat wykorzystywanym poprzez mistrzowskich programistów do wielu zróżnicowanych zastosowań, włączając w to pisanie gier, programowanie GUI czy tworzenie złożonych aplikacji użytkowych. Zaprojektowano go pod kątem maksymalizowania wydajności, jest więc z reguły wybieranym językiem w sytuacjach, w których najważniejsza jest efektywność działania kodu. By jednak zastosować te zalety C++, trzeba nauczyć się nim posługiwać. A biegłość w posługiwaniu się językiem programowania przychodzi dzięki regularnym ćwiczeniom i ciągłemu testowaniu nabytych umiejętności. Innymi słowy, trzeba rozwiązywać jak najwięcej różnorodnych, rzeczywistych i poręcznych zadań problemowych.
W tej książce zawarto pakiet 100 zadań o przeróżnym poziomie trudności, ułożonych w taki sposób,podczas rozwiązywania móc skorzystać z bogactwa standardowej biblioteki C++ i z wielu zewnętrznych bibliotek wieloplatformowych. Zadania rozmieszczono w 12 rozdziałach, z których każdy dotyczy określonego tematu. Są to problemy, których optymalne rozwiązanie warunkuje poprawne działanie aplikacji, takie jak bezpieczna komunikacja, szyfrowanie i autoryzacja danych, korzystanie z wątków i funkcji asynchronicznych czy implementacja algorytmów współbieżnych. Proponowane zagadnienia zostały starannie opisane, uwzględniono w dodatku szereg zaleceń, wyjaśnień i wskazówek. Na wypadek gdyby wykonanie któregoś zadania sprawiało trudności, do książki załączono kod źródłowy przykładowych rozwiązań.
Ważniejsze zagadnienia ujęte w książce:
serializacja i deserializacja danych JSON i XML
praca z bazą danych SQLite
implementacja takich struktur jak bufor cykliczny i kolejka priorytetowa
usługi REST i HTTP
wzorce projektowe w rozwiązywaniu problemów
Oto C++. Podejmiesz wyzwanie i napiszesz kod!
O autorze
Marius Bancila jest doświadczonym inżynierem oprogramowania. Od ponad 15 lat wypracowuje rozwiązania informatyczne dla przemysłu i sektora finansowego. Koncentruje się na technologiach firmy Microsoft i rozwija przeważnie aplikacje desktopowe przy użyciu języków C++ oraz C#. Przy tym lubi dzielić się swoją wiedzą technologiczną z innymi, dzięki temu od ponad dekady szczyci się przyznawanym poprzez Microsoft tytułem MVP.