Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązań - Helion
Tytuł oryginału: More Exceptional C++
TÅ‚umaczenie: Marcin Miklas
ISBN: 83-7361-712-4
stron: 280, Format: B5, okładka: miękka
Data wydania: 2005-01-24
Księgarnia: Helion
Cena książki: 34,90 zł
Poznaj skuteczne rozwiązania problemów,
jakie napotkasz podczas codziennej pracy programisty
- Prawidłowo zoptymalizuj kod źródłowy
- Zaprojektuj efektywną obsługę wyjątków
- Naucz się odpowiednio korzystać z przestrzeni nazw
Nauka każdego nowego zagadnienia przebiega zdecydowanie szybciej i efektywniej pod kierunkiem osoby znającej temat. Nie inaczej jest w przypadku nauki programowania w języku C++. Programowanie w tym języku wymaga dogłębnego opanowania możliwości biblioteki standardowej, inżynierii oprogramowania i wielu innych tematów. Rozwiązując samodzielnie zagadki, jakie często pojawiają się podczas poznawania języka C++ lepiej zapamiętujemy ich rozwiązania, dzięki czemu łatwiej możemy zastosować je w codziennej pracy.
Książka "Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązań" to zbiór zagadnień związanych z niemal wszystkimi aspektami programowania w C++, przedstawionych w formie zagadek z rozwiązaniami. Opisuje zarówno podstawy stosowania szablonów, biblioteki standardowej i projektowanie klas, jak i tematy zaawansowane -- przestrzenie nazw, wyjątki, dziedziczenie i zarządzanie zasobami. Czytając ją, przekonasz się, w jaki sposób można użyć pozornie niezwiązanych ze sobą elementów do opracowania nowych i oryginalnych rozwiązań częstych problemów.
- Poprawne stosowanie predykatów
- Kontenery i wskaźniki
- Korzystanie z szablonów
- Optymalizacja kodu
- Bezpieczna obsługa wyjątków
- Mechanizmy dziedziczenia i polimorfizmu
- Zarządzanie zasobami i pamięcią
- Makrodefinicje
- Przestrzenie nazw
Gdy zrozumiesz zagadnienia opisywane w tej książce, nie będziesz musiał podczas programowania zastanawiać się nad szczegółami -- będziesz mógł skoncentrować się na problemach, które naprawdę chcesz rozwiązać.
O autorze:
Herb Sutter to ekspert od programowania w języku C++. Jest regularnie zapraszany do wygłaszania wykładów na konferencjach dla programistów.
[więcej...]
Spis treści
Wyjątkowy język C++. 40 nowych łamigłówek, zadań programistycznych i rozwiązań -- spis treści
Słowo wstępne (7)
Przedmowa (9)
Rozdział 1. Programowanie uogólnione i biblioteka standardowa języka C++ (13)
- Zagadnienie 1. Przełączanie strumieni (14)
- Zagadnienie 2. Predykaty. Część 1 - co usuwa funkcja remove()? (18)
- Zagadnienie 3. Predykaty. Część 2 - pamięć stanu (22)
- Zagadnienie 4. Szablony rozszerzalne - dziedziczenie czy cechy charakterystyczne? (29)
- Zagadnienie 5. SÅ‚owo kluczowe typename (42)
- Zagadnienie 6. Kontenery, wskaźniki i kontenery, które nie są kontenerami (46)
- Zagadnienie 7. Stosowanie kontenerów vector i deque (55)
- Zagadnienie 8. Stosowanie kontenerów set i map (62)
- Zagadnienie 9. Równoważny kod? (67)
- Zagadnienie 10. Specjalizacja i przeciążanie szablonów (72)
- Zagadnienie 11. Gra Mastermind (77)
Rozdział 2. Optymalizacja a efektywność (89)
- Zagadnienie 12. SÅ‚owo kluczowe inline (89)
- Zagadnienie 13. Opieszała optymalizacja. Część 1 - klasa String (93)
- Zagadnienie 14. Opieszała optymalizacja. Część 2 - wprowadzamy opieszałość (96)
- Zagadnienie 15. Opieszała optymalizacja. Część 3 - iteratory i referencje (100)
- Zagadnienie 16. Opieszała optymalizacja. Część 4 - środowiska wielowątkowe (108)
Rozdział 3. Zagadnienia i techniki związane z bezpieczną obsługą wyjątków (121)
- Zagadnienie 17. Błędy konstruktora. Część 1 - czas życia obiektu (121)
- Zagadnienie 18. Błędy konstruktora. Część 2 - wchłanianie (125)
- Zagadnienie 19. WyjÄ…tki nieprzechwycone (132)
- Zagadnienie 20. Problem niezarządzanego wskaźnika. Część 1 - obliczanie parametrów (137)
- Zagadnienie 21. Problem niezarządzanego wskaźnika. Część 2 - co z szablonem auto_ptr? (140)
- Zagadnienie 22. Projektowanie klas zapewniających bezpieczną obsługę wyjątków. Część 1 - operator przypisania (146)
- Zagadnienie 23. Projektowanie klas zapewniających bezpieczną obsługę wyjątków. Część 2 - dziedziczenie (154)
Rozdział 4. Dziedziczenie i polimorfizm (159)
- Zagadnienie 24. Dlaczego dziedziczenie wielobazowe? (159)
- Zagadnienie 25. Emulowanie dziedziczenia wielobazowego (163)
- Zagadnienie 26. Dziedziczenie wielobazowe i problem bliźniąt syjamskich (166)
- Zagadnienie 27. Metody (nie)czysto wirtualne (170)
- Zagadnienie 28. Polimorfizm kontrolowany (175)
Rozdział 5. Zarządzanie zasobami i pamięcią (179)
- Zagadnienie 29. Stosowanie szablonu auto_ptr (179)
- Zagadnienie 30. Inteligentne wskaźniki jako składowe. Część 1 - problem z auto_ptr . (186)
- Zagadnienie 31. Inteligentne wskaźniki jako składowe. Część 2 - kurs na ValuePtr (191)
Rozdział 6. Funkcje swobodne i makrodefinicje (203)
- Zagadnienie 32. Rekurencyjne deklaracje (203)
- Zagadnienie 33. Imitowanie funkcji zagnieżdżonych (208)
- Zagadnienie 34. Dyrektywy preprocesora (216)
- Zagadnienie 35. Makrodefinicje (219)
Rozdział 7. Zagadnienia różne (225)
- Zagadnienie 36. Inicjalizacja (225)
- Zagadnienie 37. Deklaracje zapowiadajÄ…ce (228)
- Zagadnienie 38. Instrukcja typedef (229)
- Zagadnienie 39. Przestrzenie nazw. Część 1 - deklaracje i dyrektywy using (232)
- Zagadnienie 40. Przestrzenie nazw. Część 2 - migracja do przestrzeni nazw (235)
Posłowie (245)
Dodatek A Optymalizacje, które nie są optymalizacjami (247)
Dodatek B Wyniki testów (263)
Bibliografia (271)
Skorowidz (273)