reklama - zainteresowany?

C++. Sztuka programowania - Helion

C++. Sztuka programowania
Autor: Herbert Schildt
Tytuł oryginału: The Art of C++
Tłumaczenie: Małgorzata Koziej (rozdz. 2), Marcin Miklas (rozdz. 2, 7, 9), Marcin Samodulski (rozdz. 1, 3 - 6, 8)
ISBN: 83-7361-679-9
stron: 384, Format: B5, okładka: miękka
Data wydania: 2004-11-24
Księgarnia: Helion

Cena książki: 39,90 zł

Dodaj do koszyka C++. Sztuka programowania

Tagi: C++ - Programowanie

Poznaj profesjonalne techniki programistyczne

C++ to jeden z najpopularniejszych języków programowania. Ma zwięzłą i elegancką składnię, czytelny i logiczny model obiektów i starannie opracowane biblioteki. Jego możliwości dają programiście niemal nieograniczoną kontrolę nad komputerem. Jednak sprawne i efektywne programowanie w C++ to prawdziwa sztuka. Wymaga staranności, dokładnego zaplanowania tworzonej aplikacji oraz wiedzy o funkcjach i mechanizmach, jakie można zastosować.

Książka "C++. Sztuka programowania" przedstawia profesjonalne sposoby tworzenia aplikacji w języku C++. Nie opisuje podstaw języka - skupia się na tworzeniu praktycznych aplikacji z wykorzystaniem profesjonalnych technik programistycznych. Wykonując zawarte w książce przykłady, rozwiążesz różne zadania programistyczne i osiągniesz biegłość w posługiwaniu się językiem C++.

  • Szablony STL, biblioteki i model obiektowy jÄ™zyka C++
  • Mechanizm odzyskiwania pamiÄ™ci
  • Wykorzystanie wielowÄ…tkowoÅ›ci w aplikacjach
  • Eksperymentalne elementy jÄ™zyka C++
  • Aplikacje internetowe w C++
  • Techniki sztucznej inteligencji
  • Tworzenie wÅ‚asnego interpretera C++

O autorze:
Herb Schildt jest autorytetem w sprawach języków C, C++, Java i C#, a także doskonałym programistą systemu Windows. [więcej...]

Dodaj do koszyka C++. Sztuka programowania

Dodaj do koszyka C++. Sztuka programowania

Spis treści

C++. Sztuka programowania -- spis treści

O Autorze (9)

Wstęp (11)

Rozdział 1. Potęga C++ (13)

  • ZwiÄ™zÅ‚a, lecz bogata skÅ‚adnia (14)
  • Potężne biblioteki (14)
  • Biblioteka szablonów STL (15)
  • Programista ma wÅ‚adzÄ™ (16)
  • Precyzyjne sterowanie (17)
  • Przeciążanie operatorów (17)
  • Przejrzysty, zwiÄ™zÅ‚y model obiektowy (18)
  • Dziedzictwo C++ (18)

Rozdział 2. Prosty mechanizm odzyskiwania pamięci dla języka C++ (21)

  • Porównanie dwóch metod zarzÄ…dzania pamiÄ™ciÄ… (22)
    • Plusy i minusy rÄ™cznego zarzÄ…dzania pamiÄ™ciÄ… (23)
    • Plusy i minusy mechanizmu odzyskiwania pamiÄ™ci (24)
    • Możesz mieć obie metody (25)
  • Tworzenie mechanizmu odzyskiwania pamiÄ™ci w jÄ™zyku C++ (25)
    • Zrozumienie problemu (26)
  • Wybór algorytmu odzyskiwania pamiÄ™ci (26)
    • Zliczanie referencji (27)
    • Znacz i zamiataj (27)
    • Kopiowanie (27)
    • Który algorytm wybrać? (28)
    • Implementowanie mechanizmu odzyskiwania pamiÄ™ci (28)
    • WielowÄ…tkowy czy nie? (29)
    • Kiedy odzyskiwać pamięć? (29)
    • Co z auto_ptr? (30)
  • Prosty mechanizm odzyskiwania pamiÄ™ci w C++ (31)
    • Omówienie klas mechanizmu odzyskiwania pamiÄ™ci (41)
  • GCPtr szczegółowo (42)
    • Zmienne skÅ‚adowe klasy GCPtr (43)
    • Funkcja findPtrInfo() (44)
    • Definicja typu GCiterator (44)
    • Konstruktor klasy GCPtr (44)
    • Destruktor klasy GCPtr (46)
    • Odzyskiwanie pamiÄ™ci za pomocÄ… funkcji collect() (46)
    • Przeciążone operatory przypisania (48)
    • Konstruktor kopiujÄ…cy klasy GCPtr (50)
    • Operatory wskaźnikowe i funkcja konwertujÄ…ca (51)
    • Funkcje begin() i end() (52)
    • Funkcja shutdown() (53)
    • Dwie funkcje pomocnicze (53)
  • Klasa GCInfo (54)
  • Klasa Iter (55)
  • Jak używać klasy GCPtr? (57)
    • ObsÅ‚uga wyjÄ…tków alokacji pamiÄ™ci (58)
    • Bardziej interesujÄ…cy przykÅ‚ad (59)
    • Alokowanie i porzucanie obiektów (61)
    • Alokowanie tablic (63)
    • Użycie GCPtr z typami klasowymi (65)
    • WiÄ™kszy program demonstracyjny (67)
    • Testowanie obciążenia (72)
    • Kilka ograniczeÅ„ (74)
  • PomysÅ‚y do wypróbowania (75)

Rozdział 3. Wielowątkowość w C++ (77)

  • Czym jest wielowÄ…tkowość? (78)
    • WielowÄ…tkowość zmienia architekturÄ™ programu (78)
  • Dlaczego jÄ™zyk C++ nie ma wbudowanej obsÅ‚ugi mechanizmu wielowÄ…tkowoÅ›ci? (79)
  • Jaki system operacyjny i kompilator wybrać? (80)
  • PrzeglÄ…d funkcji obsÅ‚ugi wÄ…tków w Windows (81)
    • Tworzenie i zatrzymywanie wÄ…tku (81)
    • Inne funkcje obsÅ‚ugi wÄ…tków dostÄ™pne w Visual C++ (82)
    • Wstrzymywanie i wznawianie wÄ…tku (84)
    • Zmiana priorytetu wÄ…tku (84)
    • Pobieranie uchwytu głównego wÄ…tku (86)
    • Zagadnienie synchronizacji (86)
  • Tworzenie panelu kontrolnego wÄ…tków (90)
    • Panel kontrolny wÄ…tku (91)
    • Panel kontrolny wÄ…tku pod lupÄ… (95)
    • Prezentacja dziaÅ‚ania panelu kontrolnego (101)
  • WielowÄ…tkowy mechanizm odzyskiwania pamiÄ™ci (106)
    • Dodatkowe zmienne skÅ‚adowe (107)
    • Konstruktor wielowÄ…tkowej klasy GCPtr (107)
    • WyjÄ…tek TimeOutExc (109)
    • WielowÄ…tkowy destruktor klasy GCPtr (110)
    • Funkcja gc() (110)
    • Funkcja isRunning() (111)
    • Synchronizacja dostÄ™pu do listy gclist (111)
    • Dwie inne zmiany (112)
    • Kompletny kod wielowÄ…tkowego mechanizmu odzyskiwania pamiÄ™ci (112)
    • Użycie wielowÄ…tkowego mechanizmu odzyskiwania pamiÄ™ci (123)
  • PomysÅ‚y do wypróbowania (128)

Rozdział 4. Rozszerzanie języka C++ (129)

  • Dlaczego należy użyć translatora? (129)
  • Eksperymentalne sÅ‚owa kluczowe (131)
    • PÄ™tla foreach (131)
    • Wyrażenie cases (132)
    • Operator typeof (133)
    • PÄ™tla repeat-until (134)
  • Translator eksperymentalnych elementów jÄ™zyka C++ (135)
  • Użycie translatora (143)
  • Jak dziaÅ‚a translator? (144)
    • Deklaracje globalne (144)
    • Funkcja main() (145)
    • Funkcje gettoken() i skipspaces() (146)
    • PrzeksztaÅ‚canie pÄ™tli foreach (149)
    • PrzeksztaÅ‚canie wyrażenia cases (152)
    • PrzeksztaÅ‚canie operatora typeof (154)
    • PrzeksztaÅ‚canie pÄ™tli repeat-until (155)
  • Program demonstracyjny (157)
  • PomysÅ‚y do wypróbowania (163)

Rozdział 5. Program do ściągania plików z internetu (165)

  • Biblioteka WinINet (166)
  • Podsystem programu do Å›ciÄ…gania pliku z internetu (167)
    • Ogólny opis dziaÅ‚ania (171)
    • Funkcja download() (172)
    • Funkcja ishttp() (177)
    • Funkcja httpverOK() (178)
    • Funkcja getfname() (179)
    • Funkcja openfile() (179)
    • Funkcja update() (180)
  • Plik nagłówkowy podsystemu do Å›ciÄ…gania plików (181)
  • Program prezentujÄ…cy dziaÅ‚anie podsystemu do Å›ciÄ…gania plików (181)
  • Program do Å›ciÄ…gania plików z graficznym interfejsem użytkownika (183)
    • Kod programu WinDL (183)
    • Jak dziaÅ‚a program WinDL? (188)
  • PomysÅ‚y do wypróbowania (190)

Rozdział 6. Obliczenia finansowe w C++ (191)

  • Plan spÅ‚aty pożyczki (192)
  • Obliczanie przyszÅ‚ej wartoÅ›ci lokaty (193)
  • Obliczanie poczÄ…tkowej wartoÅ›ci inwestycji wymaganej do otrzymania pożądanej przyszÅ‚ej wartoÅ›ci (195)
  • Obliczanie poczÄ…tkowej wartoÅ›ci inwestycji wymaganej do otrzymania okreÅ›lonych wypÅ‚at (196)
  • Obliczanie maksymalnej wielkoÅ›ci regularnej wypÅ‚aty z danej lokaty (198)
  • Obliczanie wartoÅ›ci pozostaÅ‚ego kredytu (200)
  • PomysÅ‚y do wypróbowania (201)

Rozdział 7. Rozwiązywanie problemów metodami sztucznej inteligencji (203)

  • Reprezentacja i terminologia (204)
  • Eksplozje kombinatoryczne (205)
  • Strategie przeszukiwania (207)
    • Ocenianie strategii przeszukiwania (207)
  • Problem (208)
    • Reprezentacja graficzna (208)
  • Struktura FlightInfo i klasa Search (209)
  • Przeszukiwanie w gÅ‚Ä…b (211)
    • Funkcja match() (216)
    • Funkcja find() (217)
    • Funkcja findroute() (218)
    • WyÅ›wietlanie trasy (219)
    • Analiza przeszukiwania w gÅ‚Ä…b (220)
  • Przeszukiwanie wszerz (220)
    • Analiza przeszukiwania wszerz (223)
  • Dodawanie heurystyk (223)
    • Przeszukiwania wspinaczkowe (224)
    • Analiza przeszukiwania wspinaczkowego (228)
  • Przeszukiwanie najmniejszego kosztu (229)
    • Analiza przeszukiwania najmniejszego kosztu (231)
  • Znajdowanie wielu rozwiÄ…zaÅ„ (231)
    • Usuwanie Å›cieżki (231)
    • Usuwanie wierzchoÅ‚ków (232)
  • Szukanie optymalnego rozwiÄ…zania (238)
  • Wracamy do zgubionych kluczy (244)
  • PomysÅ‚y do wypróbowania (247)

Rozdział 8. Tworzenie własnego kontenera STL (249)

  • Krótkie omówienie biblioteki STL (250)
    • Kontenery (250)
    • Algorytmy (251)
    • Iteratory (251)
  • Inne skÅ‚adniki biblioteki STL (251)
  • Wymagania stawiane definiowanemu kontenerowi (252)
    • Wymagania ogólne (252)
    • Dodatkowe wymagania dla kontenerów sekwencyjnych (254)
    • Dodatkowe wymagania dla kontenerów asocjacyjnych (254)
  • Tworzenie kontenera tablicy dynamicznej ze zmiennymi indeksami (255)
    • Jak dziaÅ‚a tablica RangeArray? (255)
    • Kompletna klasa RangeArray (257)
    • Klasa RangeArray pod lupÄ… (266)
    • Kilka programów wykorzystujÄ…cych tablicÄ™ RangeArray (279)
    • PomysÅ‚y do wypróbowania (288)

Rozdział 9. Miniinterpreter języka C++ (289)

  • Interpretery kontra kompilatory (289)
  • Opis ogólny interpretera Mini C++ (290)
  • Charakterystyka interpretera Mini C++ (291)
    • Ograniczenia interpretera Mini C++ (293)
  • Nieformalna teoria jÄ™zyka C++ (294)
    • Wyrażenia jÄ™zyka C++ (295)
    • Definiowanie wyrażenia (295)
  • Parser wyrażeÅ„ (297)
    • Kod źródÅ‚owy parsera (297)
    • WyodrÄ™bnianie elementów leksykalnych z kodu źródÅ‚owego (309)
    • WyÅ›wietlanie bÅ‚Ä™dów skÅ‚adniowych (314)
    • Obliczanie wyrażenia (315)
  • Interpreter Mini C++ (317)
    • Funkcja main() (334)
    • WstÄ™pny przeglÄ…d kodu (335)
    • Funkcja interp() (339)
    • ObsÅ‚uga zmiennych lokalnych (341)
    • WywoÅ‚ywanie funkcji zdefiniowanych przez użytkownika (343)
    • Przypisywanie wartoÅ›ci zmiennym (345)
    • Wykonywanie instrukcji if (347)
    • Instrukcje switch i break (348)
    • Przetwarzanie pÄ™tli while (350)
    • Przetwarzanie pÄ™tli do-while (351)
    • PÄ™tla for (353)
    • ObsÅ‚uga instrukcji cin i cout (354)
  • Biblioteka funkcji interpretera Mini C++ (356)
  • Plik nagłówkowy mccommon.h (358)
  • Kompilacja i konsolidacja interpretera Mini C++ (360)
  • Demonstrowanie dziaÅ‚ania interpretera Mini C++ (360)
  • Udoskonalanie interpretera Mini C++ (368)
  • Rozszerzanie interpretera Mini C++ (369)
    • Dodawanie nowych elementów jÄ™zyka C++ (369)
    • Dodawanie elementów pomocniczych (370)

Skorowidz (371)

Dodaj do koszyka C++. Sztuka programowania

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.