Wprowadzenie do C++. Efektywne nauczanie. Wydanie III
- Autor:
- Cay S. Horstmann
- Wydawnictwo:
- Helion
- Ocena:
- 5.7/6 Opinie: 3
- Stron:
- 680
- Druk:
- oprawa twarda
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Wprowadzenie do C++. Efektywne nauczanie. Wydanie III
C++ wyjątkowo dobrze nadaje się do nauki jako "pierwszy poważny język programowania", a równocześnie jest znakomitym, wszechstronnym narzędziem do tworzenia nowoczesnych aplikacji. Programowanie w nim wymaga nieco wysiłku, ale pozwala zarówno szybko przyswoić najważniejsze paradygmaty informatyki, jak i wdrożyć się w pisanie kodu zgodne z dobrymi praktykami. Przy tym C++ ma cechy nowoczesnego języka programowania, a jego możliwości są poszerzane dzięki bibliotekom. Aby adept sztuki programowania mógł skorzystać z tych wszystkich zalet, potrzebuje pomocy dobrego nauczyciela lub dobrego podręcznika. Tylko w ten sposób uniknie typowych błędów popełnianych na skutek niewystarczającego zrozumienia podstaw programowania i najważniejszych koncepcji programistycznych.
Oto polska edycja popularnego podręcznika opartego na naukowych podstawach skutecznego uczenia. To znakomite wprowadzenie do podstawowych technik programowania i umiejętności projektowania pozwala łatwo, a przy tym dogłębnie opanować elementarne pojęcia. W przystępny sposób omawia najistotniejsze kwestie działania algorytmów i rodzaje struktur danych. Krok po kroku przeprowadza czytelnika od podstaw do bardziej zaawansowanych tematów związanych ze współczesnymi aplikacjami, takich jak GUI i programowanie XML. Poszczególne koncepcje zostały tu wyjaśnione z wykorzystaniem trafnie dobranych schematów i grafik. Nie zabrakło też wskazówek, przykładów i obszernych fragmentów świetnie napisanego kodu, które ułatwiają naukę, podobnie jak liczne ćwiczenia i studia przypadków.
W tej książce między innymi:
- podstawowe koncepcje programowania: struktury sterujące, tablice, wskaźniki
- programowanie obiektowe, dziedziczenie, polimorfizm
- struktury danych: liniowe i oparte na drzewach
- wprowadzenie do algorytmów
- szablony i zarządzanie pamięcią
Bądź profesjonalistą od pierwszej linii kodu!
Wybrane bestsellery
-
Nie pamiętasz jakiegoś algorytmu? Nie wiesz, jaką strukturę danych należy zastosować? Nie masz pojęcia, jak wyznaczyć złożoność obliczeniową algorytmu? Nie martw się, Twoje problemy należą już do przeszłości! Tablice informatyczne. Algorytmy pozwolą Ci szybko odnaleźć i przypomnieć sobie podstawo...(6.90 zł najniższa cena z 30 dni)
8.49 zł
17.00 zł(-50%) -
Unlock your architectural visualization potential with this comprehensive guide to UE5. Learn best practices, advanced techniques, and hands-on exercises for photorealistic real-time 3D environments. Ideal for beginners to experienced professionals.
Architectural Visualization in Unreal Engine 5. Create photorealistic architectural interior renderings in UE5 Architectural Visualization in Unreal Engine 5. Create photorealistic architectural interior renderings in UE5
-
Learn how design patterns offer the tools and practices to write code faster and more easily with Game Development Patterns with Unreal Engine 5. This book will walk you through a variety of design patterns and demonstrate how to apply them to Unreal Engine 5 projects as you design systems with t...
Game Development Patterns with Unreal Engine 5. Build maintainable and scalable systems with C++ and Blueprint Game Development Patterns with Unreal Engine 5. Build maintainable and scalable systems with C++ and Blueprint
-
Jeśli zastanawiasz się nad karierą programisty lub już się przygotowujesz do tego, by zostać koderem, poważnie rozważ naukę języka C++. Zaprojektowany w latach 80. XX wieku przez duńskiego informatyka Bjarne Stroustrupa C++ rozszerza język C o obiektowe mechanizmy abstrakcji danych i silną statyc...
C++ w zadaniach. Kurs video. Techniki rozwiązywania złożonych zagadnień C++ w zadaniach. Kurs video. Techniki rozwiązywania złożonych zagadnień
(39.90 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Starting with the fundamentals of IoT supported with real-world use cases, this book will take you through every aspect of building an IoT device using ESP32 from scratch. With each chapter, you’ll progressively enhance your IoT applications with features like sensor communication, integra...
Developing IoT Projects with ESP32. Unlock the full Potential of ESP32 in IoT development to create production-grade smart devices - Second Edition Developing IoT Projects with ESP32. Unlock the full Potential of ESP32 in IoT development to create production-grade smart devices - Second Edition
-
Początków C++ należy szukać w latach 70. XX wieku, kiedy powstał imperatywny, proceduralny język ogólnego przeznaczenia C. C++ stanowi jego rozszerzenie o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów. Zgodny z językiem C na poziomie kodu źródłowego, pozwala na abstrakcj...
C++ w zadaniach. Kurs video. Doskonalenie warsztatu programisty C++ w zadaniach. Kurs video. Doskonalenie warsztatu programisty
(39.90 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Znajomość C++ otwiera więc drzwi do kreowania cyfrowego świata w różnych dziedzinach. Jednakże początki z C++ mogą stanowić wyzwanie i wywoływać pytania, jak się uczyć, aby robić postępy, i w jaki sposób uporządkować zdobytą wiedzę. Cóż, nie ma lepszej metody niż nauka poprzez praktykę! Przed Tob...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Dlaczego ze wszystkich języków programowania, jakie masz do wyboru, powinieneś wybrać właśnie C++? Może dlatego, że od kilku dekad jest on jednym z najpopularniejszych języków programowania na świecie. Może dlatego, że C++ jest uniwersalny, sprawdza się zarówno podczas tworzenia oprogramowania do...
Nowoczesny C++. Kurs video. Zmienne, operatory i instrukcje Nowoczesny C++. Kurs video. Zmienne, operatory i instrukcje
(39.90 zł najniższa cena z 30 dni)64.50 zł
129.00 zł(-50%) -
This book covers the essential system programming tools and helps you explore the features of C++20. It emphasizes important details to maintain code quality and tackle everyday challenges of developing software for high performance, optimization, and more.
C++ Programming for Linux Systems. Create robust enterprise software for Linux and Unix-based operating systems C++ Programming for Linux Systems. Create robust enterprise software for Linux and Unix-based operating systems
-
Unreal Engine 5 Game Development with C++ Scripting is a comprehensive guide to mastering C++ syntax, object-oriented programming, character creation, gameplay, UI, networking, and more. You’ll gain the skills to create high-quality games using Unreal Engine 5, even without a programming b...
Unreal Engine 5 Game Development with C++ Scripting. Become a professional game developer and create fully functional, high-quality games Unreal Engine 5 Game Development with C++ Scripting. Become a professional game developer and create fully functional, high-quality games
O autorze ebooka
Cay S. Horstmann jest głównym autorem książek Java. Podstawy. Wydanie IX i Java. Techniki zaawansowane. Wydanie IX - najpopularniejszych w Polsce podręczników do nauki Javy. Cay jest profesorem informatyki na Uniwersytecie Stanowym w San José, ma tytuł Java Champion i często wygłasza odczyty na konferencjach związanych z branżą komputerową.
Cay S. Horstmann - pozostałe książki
-
Oto zaktualizowane i uzupełnione wydanie zwięzłego wprowadzenia do Javy SE 17, przeznaczonego dla profesjonalnych programistów Javy. Przedstawiono w nim wszystkie istotne zagadnienia, łącznie z takimi koncepcjami jak wyrażenia lambda i strumienie, nowoczesnymi konstrukcjami, jak rekordy i klasy z...
Java. Przewodnik doświadczonego programisty. Wydanie III Java. Przewodnik doświadczonego programisty. Wydanie III
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%) -
Oto kolejne, przejrzane, zaktualizowane i uzupełnione wydanie znakomitego podręcznika dla zawodowych programistów Javy. Znalazł się tu dokładny opis sposobów tworzenia interfejsu użytkownika, stosowania rozwiązań korporacyjnych, sieciowych i zabezpieczeń, a także nowości wprowadzonych w JDK 11. P...(39.90 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%) -
Ta książka jest kolejnym, zaktualizowanym i uzupełnionym wydaniem kultowego podręcznika dla profesjonalnych programistów Javy — to pierwszy tom, w którym omówiono podstawy języka oraz najważniejsze zagadnienia związane z programowaniem interfejsu użytkownika. W tym wydaniu opisano pakiet JD...(39.90 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
Ta książka jest kompletnym i zwięzłym kompendium praktycznego wykorzystania Javy. Została pomyślana w taki sposób, aby nauka języka i bibliotek odbywała się możliwie szybko. Omówiono tu bardzo dużo materiału, ale jego uporządkowanie i sposób prezentacji ułatwiają szybki dostęp do danego zagadnien...
Java 9. Przewodnik doświadczonego programisty. Wydanie II Java 9. Przewodnik doświadczonego programisty. Wydanie II
(29.90 zł najniższa cena z 30 dni)39.50 zł
79.00 zł(-50%) -
Książka ta jest kolejnym, gruntownie zaktualizowanym i przeorganizowanym wydaniem czołowego podręcznika dla poważnych programistów Javy, którzy chcą skorzystać z nowych możliwości języka. W tym drugim z dwóch tomów książki opisano zagadnienia zaawansowane, takie jak API strumieni, biblioteki do o...(39.90 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%) -
Opisano tu podstawy języka oraz najważniejsze zagadnienia związane z programowaniem interfejsu użytkownika. Przedstawiono pakiet Java Development Kit. Pakiet ten obejmuje obecnie tak różne aspekty tworzenia aplikacji, jak konstruowanie interfejsu użytkownika, zarządzanie bazami danych, internacjo...(34.90 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
Jeśli jesteś posiadasz doświadzenie w programowaniu Javy, praktyczne podejście Horstmanna i przykładowe kody pomogą Ci szybko wykorzystać wyrażenia lambda, strumienie i inne usprawnienia wprowadzone zarówno do języka jak i platformy Java. Horstmann omawia wszystko, co powinni wiedzieć deweloperzy...(24.90 zł najniższa cena z 30 dni)
34.50 zł
69.00 zł(-50%) -
Kolejne wydanie tej cenionej książki zostało zaktualizowane o wszystkie nowości, które pojawiły się w wersji 7 platformy Java Standard Edition. W trakcie lektury poznasz składnię języka oraz wszystkie istotne kwestie związane z programowaniem w Javie. Zrozumiesz założenia programowania obiektoweg...(34.90 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
Dziewiąte wydanie bestsellerowej pozycji Java. Techniki zaawansowane zostało zaktualizowane i uzupełnione o nowinki z najnowszej wersji języka Java oznaczonej numerem 7. W trakcie lektury dowiesz się, jak wydajnie korzystać ze strumieni, wyrażeń regularnych oraz baz danych. Java 7 to całkowicie n...(39.90 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%)
Ebooka "Wprowadzenie do C++. Efektywne nauczanie. Wydanie III" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Wprowadzenie do C++. Efektywne nauczanie. Wydanie III" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Wprowadzenie do C++. Efektywne nauczanie. Wydanie III" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Big C++: Late Objects, 3rd Edition
- Tłumaczenie:
- Krzysztof Bąbol
- ISBN Książki drukowanej:
- 978-83-283-6728-9, 9788328367289
- Data wydania książki drukowanej:
- 2021-01-18
- ISBN Ebooka:
- 978-83-283-6729-6, 9788328367296
- Data wydania ebooka:
- 2021-01-18 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 164x239
- Numer z katalogu:
- 122594
- Książka w kolorze:
- Tak
- Rozmiar pliku Pdf:
- 48.3MB
- Rozmiar pliku ePub:
- 32.0MB
- Rozmiar pliku Mobi:
- 71.7MB
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści ebooka
- 1.1. Czym jest programowanie? (35)
- 1.2. Anatomia komputera (36)
- IAS: Komputery są wszędzie (38)
- 1.3. Kod maszynowy i języki programowania (39)
- IAS: Organizacje normalizacyjne (40)
- 1.4. Zapoznanie się ze środowiskiem programowania (41)
- WDP: Kopie zapasowe (44)
- 1.5. Analiza pierwszego programu (45)
- CPB: Pomijanie średników (47)
- TS: Sekwencje ucieczki (48)
- 1.6. Błędy (49)
- CPB: Błędna pisownia wyrazów (50)
- 1.7. Rozwiązywanie problemów: projektowanie algorytmów (50)
- 1.7.1. Koncepcja algorytmu (51)
- 1.7.2. Algorytm rozwiązywania problemu stopy zwrotu (51)
- 1.7.3. Pseudokod (52)
- 1.7.4. Od algorytmów do programów (53)
- JTZ: Opisywanie algorytmu za pomocą pseudokodu (54)
- P: Napisanie algorytmu układania płytek podłogowych (55)
- Podsumowanie rozdziału (57)
- 2.1. Zmienne (59)
- 2.1.1. Definicje zmiennych (60)
- 2.1.2. Typy liczbowe (61)
- 2.1.3. Nazwy zmiennych (62)
- 2.1.4. Instrukcja przypisania (63)
- 2.1.5. Stałe (65)
- 2.1.6. Komentarze (65)
- CPB: Używanie niezdefiniowanych zmiennych (66)
- CPB: Używanie niezainicjowanych zmiennych (66)
- WDP: Wybieraj opisowe nazwy zmiennych (67)
- WDP: Nie używaj sekretnych numerów (67)
- TS: Typy liczbowe w C++ (68)
- TS: Zakresy i precyzja liczb (69)
- TS: Definiowanie zmiennych ze słowem auto (69)
- 2.2. Arytmetyka (69)
- 2.2.1. Operatory arytmetyczne (69)
- 2.2.2. Inkrementacja i dekrementacja (70)
- 2.2.3. Dzielenie całkowite i reszta z dzielenia (70)
- 2.2.4. Konwertowanie liczb zmiennoprzecinkowych na całkowite (71)
- 2.2.5. Potęgi i pierwiastki (72)
- CPB: Niezamierzone dzielenie całkowite (74)
- CPB: Niezamknięte nawiasy (74)
- CPB: Zapominanie o plikach nagłówkowych (75)
- CPB: Błędy zaokrąglenia (76)
- WDP: Spacje w wyrażeniach (76)
- TS: Rzutowania (77)
- TS: Połączenie przypisania i działań arytmetycznych (77)
- IAS: Błąd jednostki zmiennoprzecinkowej procesora Pentium (77)
- 2.3. Wejście i wyjście (79)
- 2.3.1. Wejście (79)
- 2.3.2. Formatowanie wyjścia (80)
- 2.4. Rozwiązywanie problemów: najpierw zrób to ręcznie (82)
- P: Obliczanie czasu podróży (83)
- JTZ: Przeprowadzanie obliczeń (83)
- P: Obliczenie kosztu znaczków pocztowych (86)
- 2.5. Ciągi (86)
- 2.5.1. Typ string (86)
- 2.5.2. Łączenie ciągów (87)
- 2.5.3. Wprowadzanie ciągów (87)
- 2.5.4. Funkcje ciągów (88)
- IAS: Alfabety międzynarodowe i zestaw Unicode (91)
- Podsumowanie rozdziału (92)
- 3.1. Instrukcja if (93)
- CPB: Średnik po warunku if (96)
- WDP: Układ nawiasów klamrowych (96)
- WDP: Zawsze używaj nawiasów klamrowych (97)
- WDP: Wcięcia (97)
- WDP: Unikaj duplikowania kodu w gałęziach (98)
- TS: Operator warunkowy (99)
- 3.2. Porównywanie liczb oraz znaków (99)
- CPB: Mylenie operatora = z == (101)
- CPB: Dokładne porównywanie liczb zmiennoprzecinkowych (102)
- WDP: Doprowadź do kompilacji z brakiem ostrzeżeń (103)
- TS: Alfabetyczna kolejność ciągów (103)
- JTZ: Implementacja instrukcji if (104)
- P: Wyodrębnianie ze środka (106)
- IAS: Dysfunkcjonalne systemy komputerowe (106)
- 3.3. Wiele wariantów (107)
- TS: Instrukcja switch (110)
- 3.4. Zagnieżdżone gałęzie (111)
- CPB: Problem z zawieszonym słowem else (113)
- WDP: Ręczne śledzenie kodu (114)
- 3.5. Rozwiązywanie problemów: schematy blokowe (116)
- 3.6. Rozwiązywanie problemów: przypadki testowe (119)
- WDP: Opracuj harmonogram i zarezerwuj czas na nieoczekiwane problemy (120)
- 3.7. Zmienne i operatory logiczne (121)
- CPB: Łączenie wielu operatorów relacyjnych (124)
- CPB: Mylenie warunków && i || (125)
- TS: Skrócone obliczanie wartości operatorów logicznych (126)
- TS: Prawa de Morgana (126)
- 3.8. Zastosowanie: weryfikacja danych wejściowych (127)
- IAS: Sztuczna inteligencja (129)
- Podsumowanie rozdziału (131)
- 4.1. Pętla while (133)
- CPB: Nieskończone pętle (138)
- CPB: Nie myśl w kategoriach "Czy doszliśmy już do celu?" (138)
- CPB: Pomyłki o jeden (139)
- IAS: Pierwszy "bug" (140)
- 4.2. Rozwiązywanie problemów: ręczne śledzenie kodu (140)
- 4.3. Pętla for (143)
- WDP: Używaj pętli tylko do tego, do czego została przeznaczona (147)
- WDP: Wybierz zakres pętli odpowiedni do zadania (147)
- WDP: Licz iteracje (148)
- 4.4. Pętla do (148)
- WDP: Schematy blokowe pętli (149)
- 4.5. Przetwarzanie danych wejściowych (150)
- 4.5.1. Wartości wartownika (150)
- 4.5.2. Odczytywanie danych wejściowych do chwili niepowodzenia (151)
- TS: Czyszczenie stanu błędu (153)
- TS: "Pętla i pół" oraz instrukcja break (154)
- TS: Przekierowywanie wejścia i wyjścia (154)
- 4.6. Rozwiązywanie problemów: scenopis (155)
- 4.7. Typowe algorytmy pętli (158)
- 4.7.1. Suma i średnia (158)
- 4.7.2. Zliczanie pasujących elementów (158)
- 4.7.3. Znajdowanie pierwszego pasującego elementu (159)
- 4.7.4. Monitowanie aż do skutku (159)
- 4.7.5. Maksimum i minimum (160)
- 4.7.6. Porównywanie sąsiednich wartości (160)
- JTZ: Tworzenie pętli (161)
- P: Przetwarzanie numerów kart kredytowych (165)
- 4.8. Zagnieżdżone pętle (165)
- P: Manipulowanie pikselami obrazu (168)
- 4.9. Rozwiązywanie problemów: najpierw rozwiąż prostszy problem (169)
- 4.10. Liczby losowe i symulacje (173)
- 4.10.1. Generowanie liczb losowych (174)
- 4.10.2. Symulowanie rzutów kostką (175)
- 4.10.3. Metoda Monte Carlo (176)
- IAS: Piractwo cyfrowe (177)
- Podsumowanie rozdziału (178)
- 5.1. Funkcje jako czarne skrzynki (181)
- 5.2. Implementowanie funkcji (183)
- WDP: Komentarze funkcji (185)
- 5.3. Przekazywanie parametrów (185)
- WDP: Nie modyfikuj zmiennych parametrycznych (187)
- 5.4. Wartości zwracane (187)
- CPB: Brak wartości zwracanej (188)
- TS: Deklaracje funkcji (189)
- JTZ: Implementowanie funkcji (190)
- P: Generowanie losowych haseł (191)
- P: Używanie debugera (191)
- 5.5. Funkcje bez wartości zwracanych (192)
- 5.6. Rozwiązywanie problemów: funkcje do ponownego wykorzystania (193)
- 5.7. Rozwiązywanie problemów: uściślanie stopniowe (195)
- WDP: Pilnuj, by funkcje były krótkie (200)
- WDP: Śledzenie funkcji (200)
- WDP: Atrapy (202)
- P: Obliczanie oceny z przedmiotu (202)
- 5.8. Zakres zmiennej i zmienne globalne (202)
- WDP: Unikaj zmiennych globalnych (204)
- 5.9. Parametry referencyjne (204)
- WDP: Preferuj wartości zwracane zamiast parametrów referencyjnych (208)
- TS: Stałe referencje (209)
- 5.10. Funkcje rekurencyjne (opcjonalnie) (209)
- JTZ: Wnioskowanie rekurencyjne (212)
- IAS: Nagłe rozpowszechnienie się komputerów osobistych (214)
- Podsumowanie rozdziału (215)
- 6.1. Tablice (217)
- 6.1.1. Definiowanie tablic (217)
- 6.1.2. Dostęp do elementów tablicy (219)
- 6.1.3. Częściowo wypełnione tablice (221)
- CPB: Przekroczenie zakresu (222)
- WDP: Używaj tablic do przechowywania serii związanych ze sobą wartości (222)
- IAS: Wirusy komputerowe (222)
- 6.2. Typowe algorytmy tablicowe (224)
- 6.2.1. Wypełnianie wartościami (224)
- 6.2.2. Kopiowanie (224)
- 6.2.3. Suma i średnia (225)
- 6.2.4. Maksimum i minimum (225)
- 6.2.5. Separatory elementów (225)
- 6.2.6. Zliczanie pasujących elementów (226)
- 6.2.7. Wyszukiwanie liniowe (226)
- 6.2.8. Usuwanie elementu (227)
- 6.2.9. Wstawianie elementu (227)
- 6.2.10. Przestawianie elementów (229)
- 6.2.11. Odczyt danych wejściowych (230)
- TS: Sortowanie za pomocą biblioteki C++ (231)
- TS: Algorytm sortowania (231)
- TS: Wyszukiwanie binarne (233)
- 6.3. Tablice a funkcje (234)
- TS: Stałe parametry tablicowe (237)
- 6.4. Rozwiązywanie problemów: dostosowywanie algorytmów (238)
- JTZ: Praca z tablicami (240)
- P: Rzut kostką (243)
- 6.5. Rozwiązywanie problemów: odkrywanie algorytmów przez manipulację obiektami fizycznymi (244)
- 6.6. Tablice dwuwymiarowe (246)
- 6.6.1. Definiowanie tablic dwuwymiarowych (247)
- 6.6.2. Dostęp do elementów (248)
- 6.6.3. Lokalizowanie sąsiadujących elementów (248)
- 6.6.4. Obliczanie sum wierszy i kolumn (249)
- 6.6.5. Dwuwymiarowe parametry tablicowe (250)
- CPB: Pomijanie rozmiaru kolumny w dwuwymiarowym parametrze tablicowym (253)
- P: Tabela danych o ludności świata (253)
- 6.7. Wektory (253)
- 6.7.1. Definiowanie wektorów (254)
- 6.7.2. Powiększanie i zmniejszanie wektorów (255)
- 6.7.3. Wektory a funkcje (256)
- 6.7.4. Algorytmy związane z wektorami (257)
- 6.7.5. Wektory dwuwymiarowe (259)
- WDP: Stosuj wektory zamiast tablic (260)
- TS: Pętla for oparta na zakresie (260)
- Podsumowanie rozdziału (261)
- 7.1. Definiowanie i używanie wskaźników (264)
- 7.1.1. Definiowanie wskaźników (264)
- 7.1.2. Dostęp do zmiennych poprzez wskaźniki (265)
- 7.1.3. Inicjowanie wskaźników (266)
- CPB: Mylenie wskaźników z danymi, na które wskazują (268)
- WDP: Używaj oddzielnej definicji dla każdej zmiennej wskaźnikowej (269)
- TS: Wskaźniki i referencje (269)
- 7.2. Tablice i wskaźniki (270)
- 7.2.1. Tablice jako wskaźniki (270)
- 7.2.2. Arytmetyka wskaźnikowa (271)
- 7.2.3. Tablicowe zmienne parametryczne są wskaźnikami (272)
- TS: Przechodzenie po tablicy przy użyciu wskaźnika (273)
- CPB: Zwracanie wskaźnika wskazującego na zmienną lokalną (274)
- WDP: Programuj przejrzyście, a nie sprytnie (275)
- TS: Stałe wskaźniki (275)
- 7.3. Ciągi w językach C i C++ (276)
- 7.3.1. Typ char (276)
- 7.3.2. Ciągi w stylu C (276)
- 7.3.3. Tablice znaków (277)
- 7.3.4. Konwertowanie pomiędzy ciągami w stylu C i C++ (278)
- 7.3.5. Ciągi w stylu C++ i operator [] (278)
- TS: Praca z ciągami w stylu C (279)
- 7.4. Dynamiczna alokacja pamięci (281)
- CPB: Wiszące wskaźniki (283)
- CPB: Wycieki pamięci (284)
- 7.5. Tablice i wektory wskaźników (285)
- 7.6. Rozwiązywanie problemów: rysowanie schematu (288)
- JTZ: Praca ze wskaźnikami (289)
- P: Tworzenie korespondencji masowej (291)
- IAS: Systemy wbudowane (291)
- 7.7. Struktury (292)
- 7.7.1. Typy strukturalne (292)
- 7.7.2. Przypisania struktur i ich porównywanie (293)
- 7.7.3. Funkcje a struktury (294)
- 7.7.4. Tablice struktur (294)
- 7.7.5. Struktury ze składowymi tablicowymi (295)
- 7.7.6. Struktury zagnieżdżone (295)
- 7.8. Wskaźniki a struktury (296)
- 7.8.1. Wskaźniki do struktur (296)
- 7.8.2. Struktury ze składowymi wskaźnikowymi (297)
- TS: Wskaźniki inteligentne (298)
- Podsumowanie rozdziału (299)
- 8.1. Odczytywanie i zapisywanie plików tekstowych (301)
- 8.1.1. Otwieranie strumienia (302)
- 8.1.2. Odczyt z pliku (303)
- 8.1.3. Zapis do pliku (304)
- 8.1.4. Przykład przetwarzania pliku (304)
- 8.2. Odczyt tekstowych danych wejściowych (307)
- 8.2.1. Odczyt wyrazów (307)
- 8.2.2. Odczyt znaków (307)
- 8.2.3. Odczyt wierszy (309)
- CPB: Łączenie operacji wejścia przy użyciu operatora >> i funkcji getline (310)
- TS: Sprawdzanie błędu strumienia (311)
- 8.3. Zapisywanie tekstowych danych wyjściowych (312)
- TS: Standard Unicode, kodowanie UTF-8 i ciągi C++ (314)
- 8.4. Analizowanie i formatowanie ciągów (315)
- 8.5. Argumenty wiersza poleceń (317)
- IAS: Algorytmy szyfrowania (320)
- JTZ: Przetwarzanie plików tekstowych (321)
- P: Wyszukiwanie duplikatów (324)
- 8.6. Dostęp swobodny i pliki binarne (324)
- 8.6.1. Dostęp swobodny (324)
- 8.6.2. Pliki binarne (325)
- 8.6.3. Przetwarzanie plików z obrazami (326)
- IAS: Bazy danych a prywatność (329)
- Podsumowanie rozdziału (330)
- 9.1. Programowanie obiektowe (334)
- 9.2. Implementowanie prostej klasy (335)
- 9.3. Określanie interfejsu publicznego klasy (338)
- CPB: Zapominanie o średniku (340)
- 9.4. Projektowanie reprezentacji danych (341)
- 9.5. Funkcje składowe (342)
- 9.5.1. Implementowanie funkcji składowych (342)
- 9.5.2. Parametry jawne i niejawne (343)
- 9.5.3. Wywoływanie funkcji składowej wewnątrz innej funkcji składowej (344)
- WDP: Wszystkie dane składowe powinny być prywatne, a większość funkcji - publiczna (347)
- WDP: Poprawne użycie słowa zastrzeżonego const (347)
- 9.6. Konstruktory (348)
- CPB: Próba wywołania konstruktora (350)
- TS: Przeciążanie (351)
- TS: Listy inicjatorów (351)
- TS: Uniwersalna i jednolita składnia inicjacji (352)
- 9.7. Rozwiązywanie problemów: śledzenie obiektów (353)
- JTZ: Implementowanie klasy (355)
- P: Implementowanie klasy reprezentującej konto bankowe (358)
- IAS: Elektroniczne maszyny do głosowania (358)
- 9.8. Rozwiązywanie problemów: znajdowanie klas (360)
- WDP: Przekształcaj wektory równoległe w wektory obiektów (361)
- 9.9. Osobna kompilacja (363)
- 9.10. Wskaźniki do obiektów (367)
- 9.10.1. Obiekty alokowane dynamicznie (367)
- 9.10.2. Operator -> (368)
- 9.10.3. Wskaźnik this (369)
- 9.11. Rozwiązywanie problemów: wzorce danych obiektu (369)
- 9.11.1. Przechowywanie sumy całkowitej (370)
- 9.11.2. Liczenie zdarzeń (371)
- 9.11.3. Gromadzenie danych (371)
- 9.11.4. Zarządzanie właściwościami obiektu (372)
- 9.11.5. Modelowanie obiektów o różnych stanach (373)
- 9.11.6. Opisywanie pozycji obiektu (374)
- IAS: Oprogramowanie o otwartych źródłach i wolne oprogramowanie (375)
- Podsumowanie rozdziału (376)
- 10.1. Hierarchie dziedziczenia (379)
- 10.2. Implementowanie klas pochodnych (383)
- CPB: Dziedziczenie prywatne (386)
- CPB: Replikowanie składowych klasy bazowej (386)
- WDP: Przy odmiennych wartościach należy używać jednej klasy, przy odmiennym działaniu - dziedziczenia (387)
- TS: Wywoływanie konstruktora klasy bazowej (387)
- 10.3. Przesłanianie funkcji składowych (388)
- CPB: Zapominanie o podaniu nazwy klasy bazowej (391)
- 10.4. Funkcje wirtualne i polimorfizm (391)
- 10.4.1. Problem odcinania (392)
- 10.4.2. Wskaźniki do klasy bazowej i pochodnej (393)
- 10.4.3. Funkcje wirtualne (394)
- 10.4.4. Polimorfizm (395)
- WD: Nie używaj znaczników typów (398)
- CPB: Odcinanie obiektu (398)
- CPB: Nieudane przesłanianie funkcji wirtualnej (399)
- TS: Wirtualne samowywołania (400)
- JTZ: Opracowywanie hierarchii dziedziczenia (400)
- P: Implementowanie hierarchii pracowników a potrzeby przetwarzania odcinków wypłat (406)
- IAS: Kto sprawuje kontrolę nad internetem? (406)
- Podsumowanie rozdziału (408)
- 11.1. Liczby trójkątne (409)
- CPB: Śledzenie wykonania funkcji rekurencyjnych (413)
- CPB: Nieskończona rekurencja (414)
- JTZ: Wnioskowanie rekurencyjne (415)
- P: Znajdowanie plików (418)
- 11.2. Rekurencyjne funkcje pomocnicze (418)
- 11.3. Wydajność rekurencji (419)
- 11.4. Permutacje (423)
- 11.5. Rekurencja wzajemna (426)
- 11.6. Poszukiwanie z nawrotami (430)
- P: Wieże Hanoi (436)
- IAS: Ograniczenia obliczeń komputerowych (436)
- Podsumowanie rozdziału (439)
- 12.1. Sortowanie przez wybieranie (441)
- 12.2. Profilowanie algorytmu sortowania przez wybieranie (444)
- 12.3. Analiza wydajności algorytmu sortowania przez wybieranie (445)
- TS: O, omega i theta (447)
- TS: Sortowanie przez wstawianie (449)
- 12.4. Sortowanie przez scalanie (450)
- 12.5. Analiza algorytmu sortowania przez scalanie (453)
- TS: Algorytm sortowania szybkiego (456)
- 12.6. Wyszukiwanie (457)
- 12.6.1. Wyszukiwanie liniowe (457)
- 12.6.2. Wyszukiwanie binarne (459)
- WDP: Funkcje biblioteczne do sortowania i wyszukiwania binarnego (462)
- TS: Definiowanie kolejności sortowania obiektów (462)
- 12.7. Rozwiązywanie problemów: szacowanie czasu wykonania algorytmu (463)
- 12.7.1. Czas liniowy (463)
- 12.7.2. Czas kwadratowy (464)
- 12.7.3. Wzór trójkąta (465)
- 12.7.4. Czas logarytmiczny (467)
- P: Ulepszanie algorytmu sortowania przez wstawianie (468)
- IAS: Pierwsza programistka (468)
- Podsumowanie rozdziału (469)
- 13.1. Przeciążanie operatorów (471)
- 13.1.1. Funkcje operatorów (472)
- 13.1.2. Przeciążanie operatorów porównania (474)
- 13.1.3. Wejście i wyjście (475)
- 13.1.4. Operatory składowe (476)
- TS: Przeciążanie operatorów inkrementacji i dekrementacji (476)
- TS: Niejawne konwersje typów (478)
- TS: Zwracanie referencji (479)
- P: Klasa Fraction (480)
- 13.2. Automatyczne zarządzanie pamięcią (480)
- 13.2.1. Konstruktory przydzielające pamięć (480)
- 13.2.2. Destruktory (482)
- 13.2.3. Przeciążanie operatora przypisania (483)
- 13.2.4. Konstruktory kopiujące (488)
- WDP: Używaj parametrów referencyjnych, by nie tworzyć kopii obiektów (492)
- CPB: Definiowanie destruktora bez pozostałych dwu funkcji z "wielkiej trójki" (492)
- TS: Wirtualne destruktory (493)
- TS: Powstrzymanie automatycznego tworzenia funkcji zarządzających pamięcią (494)
- TS: Operacje przenoszenia (494)
- TS: Wskaźniki współdzielone (496)
- P: Śledzenie zarządzania pamięcią w obiektach typu String (496)
- 13.3. Szablony (497)
- 13.3.1. Szablony funkcji (497)
- 13.3.2. Szablony klas (499)
- TS: Parametry szablonów niedotyczące typów (501)
- Podsumowanie rozdziału (502)
- 14.1. Używanie list powiązanych (503)
- 14.2. Implementowanie list powiązanych (509)
- 14.2.1. Klasy dla list, węzłów i iteratorów (509)
- 14.2.2. Implementowanie iteratorów (511)
- 14.2.3. Implementowanie wstawiania i usuwania węzłów (512)
- P: Implementowanie szablonu listy powiązanej (522)
- 14.3. Wydajność operacji na listach, tablicach i wektorach (523)
- 14.4. Stosy i kolejki (527)
- 14.5. Implementowanie stosów i kolejek (530)
- 14.5.1. Stosy jako listy powiązane (530)
- 14.5.2. Stosy jako tablice (533)
- 14.5.3. Kolejki jako listy powiązane (534)
- 14.5.4. Kolejki jako tablice cykliczne (535)
- 14.6. Zastosowania stosów i kolejek (536)
- 14.6.1. Sprawdzanie zamknięcia nawiasów (536)
- 14.6.2. Obliczanie wyrażeń zapisanych w odwrotnej notacji polskiej (537)
- 14.6.3. Obliczanie wartości wyrażeń algebraicznych (539)
- 14.6.4. Poszukiwanie z nawrotami (543)
- TS: Odwrotna notacja polska (544)
- Podsumowanie rozdziału (545)
- 15.1. Zbiory (547)
- 15.2. Mapy (551)
- WDP: W przypadku iteratorów używaj typu auto (555)
- TS: Multizbiory i multimapy (555)
- P: Częstość występowania wyrazów (556)
- 15.3. Implementowanie tablicy mieszającej (556)
- 15.3.1. Skróty (556)
- 15.3.2. Tablice mieszające (558)
- 15.3.3. Znajdowanie elementu (559)
- 15.3.4. Dodawanie i usuwanie elementów (560)
- 15.3.5. Przechodzenie po tablicy mieszającej (560)
- TS: Implementowanie funkcji skrótów (566)
- TS: Adresowanie otwarte (568)
- Podsumowanie rozdziału (570)
- 16.1. Podstawowe koncepcje dotyczące drzew (571)
- 16.2. Drzewa binarne (575)
- 16.2.1. Przykłady drzew binarnych (575)
- 16.2.2. Drzewa zrównoważone (577)
- 16.2.3. Implementacja drzewa binarnego (578)
- P: Budowanie drzewa Huffmana (580)
- 16.3. Binarne drzewa poszukiwań (580)
- 16.3.1. Właściwość wyszukiwania binarnego (580)
- 16.3.2. Wstawianie (582)
- 16.3.3. Usuwanie (584)
- 16.3.4. Wydajność operacji (586)
- 16.4. Przeglądanie drzewa (591)
- 16.4.1. Przeglądanie poprzeczne (591)
- 16.4.2. Przeglądanie wzdłużne i wsteczne (593)
- 16.4.3. Wzorzec Wizytator (594)
- 16.4.4. Przeszukiwanie w głąb i wszerz (595)
- 16.4.5. Iteratory drzew (596)
- 16.5. Drzewa czerwono-czarne (597)
- 16.5.1. Podstawowe własności drzew czerwono-czarnych (597)
- 16.5.2. Wstawianie (600)
- 16.5.3. Usuwanie (601)
- P: Implementowanie drzewa czerwono-czarnego (605)
- Podsumowanie rozdziału (605)
- 17.1. Kolejki priorytetowe (607)
- P: Symulacja kolejki oczekujących klientów (610)
- 17.2. Kopce (610)
- 17.3. Algorytm sortowania przez kopcowanie (621)
- Podsumowanie rozdziału (626)
ELEMENTY KSIĄŻKI (16)
PRZEDMOWA (23)
1. WPROWADZENIE (35)
2. PODSTAWOWE TYPY DANYCH (59)
3. DECYZJE (93)
4. PĘTLE (133)
5. FUNKCJE (181)
6. TABLICE I WEKTORY (217)
7. WSKAŹNIKI I STRUKTURY (263)
8. STRUMIENIE (301)
9. KLASY (333)
10. DZIEDZICZENIE (379)
11. REKURENCJA (409)
12. SORTOWANIE I WYSZUKIWANIE (441)
13. ZAAWANSOWANE CECHY JĘZYKA C++ (471)
14. LISTY POWIĄZANE, STOSY I KOLEJKI (503)
15. ZBIORY, MAPY I TABLICE MIESZAJĄCE (547)
16. STRUKTURY DRZEW (571)
17. KOLEJKI PRIORYTETOWE I KOPCE (607)
A ZESTAWIENIE SŁÓW ZASTRZEŻONYCH (627)
B ZESTAWIENIE OPERATORÓW (631)
C KODY ZNAKÓW (633)
D PRZEGLĄD BIBLIOTEKI C++ (637)
E WYTYCZNE DOTYCZĄCE PROGRAMOWANIA W JĘZYKU C++ (643)
F SYSTEMY LICZBOWE (651)
SŁOWNICZEK (661)
ŹRÓDŁA ILUSTRACJI (671)
ŚCIĄGAWKA (673)
Oceny i opinie klientów: Wprowadzenie do C++. Efektywne nauczanie. Wydanie III Cay S. Horstmann (3) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(2)
(1)
(0)
(0)
(0)
(0)
więcej opinii