okladka

Wiadomości niezbędne każdemu programiście

  • Zasady programowania obiektowego
  • Stosowanie wzorców projektowych
  • Korzystanie z mechanizmu szablonów

C++ jest jednym z najpopularniejszych języków programowania. Jego potężne możliwości idą w parze ze złożonością, która powoduje, że nauka programowania w C++ nie jest łatwym zadaniem. Programista, który chce opanować zasady tworzenia aplikacji w C++, musi w pełni opanować przynajmniej część związanych z tym językiem pojęć i technik. Napisanie prawidłowo i wydajnie działającego programu wymaga wykorzystania tej wiedzy w praktyce.

"C++. Kanony wiedzy programistycznej" to przegląd zagadnień, których znajomość jest nieodzowna dla każdego programisty korzystającego z C++. Czytając tę książkę, poznasz reguły projektowania i programowania obiektowego, sposoby wykorzystywania funkcji i szablonów oraz zasady stosowania wzorów projektowych. Przeczytasz o dyrektywach kompilatora, wskaźnikach i rzutowaniu. Dowiesz się wszystkiego, co jest uważane za sedno języka C++.

  • Projektowanie obiektowe
  • Polimorfizm
  • Wykorzystywanie podstawowych wzorców projektowych
  • Deklarowanie funkcji i tablic
  • Zarządzanie pamięcią
  • Sterowanie przebiegiem kompilacji
  • Korzystanie z szablonów
  • Obsługa błędów za pomocą wyjątków

Ta książka pozwoli Ci się stać programistą doskonałym.

O autorze:
Stephen C. Dewhurst był jednym z pierwszych użytkowników języka C++ w laboratoriach Bell Labs. Ma ponad dwudziestoletnie doświadczenie w stosowaniu C++ do rozwiązywania problemów w takich dziedzinach, jak projektowanie kompilatorów, zabezpieczanie handlu elektronicznego czy telekomunikacja implementowana na bazie urządzeń wbudowanych [więcej...\


Podziękowania (7)
Wstęp (9)
Konwencje typograficzne (15)
Zagadnienie 1. Abstrakcje (17)
Zagadnienie 2. Polimorfizm (19)
Zagadnienie 3. Wzorce projektowe (23)
Zagadnienie 4. Standardowa biblioteka szablonów (27)
Zagadnienie 5. Referencje są aliasami, nie wskaźnikami (29)
Zagadnienie 6. Parametry tablicowe (33)
Zagadnienie 7. Wskaźniki const i wskaźniki na const (37)
Zagadnienie 8. Wskaźniki na wskaźniki (41)
Zagadnienie 9. Nowe operatory rzutowania (43)
Zagadnienie 10. Semantyka metod deklarowanych z const (47)
Zagadnienie 11. Kompilator nadziewa klasy farszem (51)
Zagadnienie 12. Przypisanie to nie to samo co inicjalizacja (55)
Zagadnienie 13. Operacje kopiowania (59)
Zagadnienie 14. Wskaźniki funkcji (63)
Zagadnienie 15. Wskaźniki składowych klas nie są wskaźnikami (67)
Zagadnienie 16. Wskaźniki metod nie są wskaźnikami (71)
Zagadnienie 17. Deklaratory funkcji i tablic (75)
Zagadnienie 18. Obiekty funkcyjne (77)
Zagadnienie 19. Wzorzec Command i dewiza hollywoodzka (81)
Zagadnienie 20. Obiekty funkcyjne STL (85)
Zagadnienie 21. Przeciążanie to nie to samo co przesłanianie (89)
Zagadnienie 22. Wzorzec Template Method (91)
Zagadnienie 23. Przestrzenie nazw (93)
Zagadnienie 24. Wyszukiwanie metod (97)
Zagadnienie 25. Wyszukiwanie ADL (99)
Zagadnienie 26. Wyszukiwanie funkcji operatorów (101)
Zagadnienie 27. Odpytywanie klasy (103)
Zagadnienie 28. Semantyka porównywania wskaźników (107)
Zagadnienie 29. Konstruktory wirtualne i wzorzec Prototype (109)
Zagadnienie 30. Wzorzec Factory Method (113)
Zagadnienie 31. Kowariancja typów zwracanych (117)
Zagadnienie 32. Blokowanie kopiowania (121)
Zagadnienie 33. Wytwarzanie abstrakcyjnych klas bazowych (123)
Zagadnienie 34. Blokowanie przydziału na stercie (125)
Zagadnienie 35. Miejscowa wersja new (127)
Zagadnienie 36. Zarządzanie pamięcią w klasie (131)
Zagadnienie 37. Przydział tablicowy (135)
Zagadnienie 38. Aksjomaty odporności na wyjątki (139)
Zagadnienie 39. Funkcje odporne na wyjątki (143)
Zagadnienie 40. Reguła RAII (147)
Zagadnienie 41. Operator new, konstruktory i wyjątki (151)
Zagadnienie 42. Inteligentne wskaźniki (153)
Zagadnienie 43. Niezwykłości auto_ptr (155)
Zagadnienie 44. Arytmetyka wskaźników (157)
Zagadnienie 45. Terminologia szablonów (161)
Zagadnienie 46. Jawna specjalizacja szablonu klasy (163)
Zagadnienie 47. Częściowa specjalizacja szablonu (167)
Zagadnienie 48. Specjalizacja metody szablonu klasy (171)
Zagadnienie 49. Niepewność co do nazw typów (175)
Zagadnienie 50. Szablony składowych (179)
Zagadnienie 51. Niepewność co do nazw szablonów (183)
Zagadnienie 52. Specjalizacja dla informacji o typie (185)
Zagadnienie 53. Osadzanie informacji o typie (189)
Zagadnienie 54. Klasy cech (193)
Zagadnienie 55. Szablony parametrów szablonu (199)
Zagadnienie 56. Klasy wytycznych (205)
Zagadnienie 57. Dedukcja argumentów szablonu (209)
Zagadnienie 58. Przeciążanie szablonów funkcji (213)
Zagadnienie 59. Reguła SFINAE (217)
Zagadnienie 60. Algorytmy uogólnione (221)
Zagadnienie 61. Konkretyzuje się tylko to, co używane (225)
Zagadnienie 62. Bariery #include (229)
Zagadnienie 63. Opcjonalne słowa kluczowe (231)
Bibliografia (235)
Skorowidz (237)