księgarnia informatyczna aton.pl

Skuteczny nowoczesny C++ 42 sposoby lepszego posługiwania się językami C++11 i C++14

Wydawnictwo Promise

Cena:    79.80   63.84zł

Skuteczny nowoczesny C++ 42 sposoby lepszego posługiwania się językami C++11 i C++14


Autor: Scott Meyers

ISBN: 978-83-7541-155-3

Ilość stron: 392

Data wydania: 01/2015

Oprawa: Miękka

Format: 16.8x23.8cm

Wydawnictwo: Promise


Do opanowania języków C++11 i C++14 nie wystarcza zapoznanie się z wprowadzonymi w nich funkcjonalnościami (np. deklaracjami typu auto, semantyką operacji przenoszenia, wyrażeniami lambda i obsługą współbieżności).

Sztuką jest nauczenie się korzystania z tych funkcjonalności skutecznie – tak, aby programy były poprawne, wydajne, łatwe w utrzymaniu i przenośne. Pomocna w tym będzie niniejsza książka, w której został opisany sposób tworzenia wspaniałego oprogramowania przy użyciu standardów C++11 i C++14 – tj. nowoczesnego języka C++.

Tematy:
• Zalety i wady inicjalizacji klamrowej, specyfikacji noexcept, technik doskonałego przekazywania argumentów oraz funkcji make służących do tworzenia wskaźników inteligentnych
• Związki między std::move, std::forward, odwołaniami do r-wartości i odwołaniami uniwersalnymi
• Techniki pisania czytelnych, poprawnych i skutecznych wyrażeń lambda
• Różnice między std::atomic a volatile, zalecane sposoby użycia każdej z tych deklaracji oraz ich związek z interfejsem API współbieżności w języku C++
• Zmiany najlepszych rozwiązań znanych ze „starego” języka C++ (tj. C++98) wymagane podczas tworzenia oprogramowania w nowoczesnym języku C++

Książka Skuteczny nowoczesny C++ jest napisana zgodnie z wypróbowanym, opartym na wskazówkach i przykładach stylem wcześniejszych książek Scotta Meyersa, ale dotyczy całkowicie nowego materiału. Jest ważną pozycją dla każdego nowoczesnego twórcy oprogramowania w języku C++.

Przed ponad 20 laty książki Scotta Meyersa z serii Effective C++ (Effective C++, More Effective C++ i Effective STL) wyznaczyły poziom odniesienia dla wskazówek dotyczących programowania w języku C++. Jego jasne, ujmujące wyjaśnienia skomplikowanego materiału technicznego przyniosły mu światową sławę, dzięki której stał się popularnym trenerem, konsultantem i prezenterem konferencyjnym. Scott Meyers zyskał tytuł doktora informatyki na uniwersytecie Brown.

„Kiedy już zapoznałem się z podstawami języka C++, sposobów programowania kodu produkcyjnego w tym języku nauczyłem się z serii książek Meyersa Effective C++. Książka Skuteczny nowoczesny C++ jest najważniejszym podręcznikiem dotyczącym istotnych wytycznych, stylów i idiomów przydatnych do skutecznego i dobrego stosowania nowoczesnego języka C++. Nie masz jej jeszcze? Kup ją. Teraz.”
Herb Sutter Przewodniczący komitetu standaryzacyjnego ISO C++  oraz architekt oprogramowania C++ w firmie Microsoft

Spis treści:

1. Dedukcja typów 9
Punkt 1: Dedukcja typów w szablonach 9
Punkt 2: Dedukcja typu auto 20
Punkt 3: decltype 26
Punkt 4: Jak wyświetlać wydedukowane typy 34

2. auto 41
Punkt 5: Preferuj deklarację auto zamiast jawnych deklaracji typów 41
Punkt 6: Stosuj idiom jawnego inicjatora typu, gdy deklaracja auto powoduje dedukcję niepożądanych typów 48

3. Droga do nowoczesnego języka C++ 55
Punkt 7: Rozróżniaj między () a {} podczas tworzenia obiektów 55
Punkt 8: Preferuj nullptr zamiast 0 i NULL 67
Punkt 9: Preferuj deklaracje aliasów zamiast typedef 72
Punkt 10: Preferuj wyliczenia enum z zasięgiem zamiast bez zasięgu 77
Punkt 11: Preferuj funkcje usunięte zamiast prywatnych niezdefiniowanych 85
Punkt 12: Deklaruj funkcje nadpisujące jako override 91
Punkt 13: Preferuj iteratory const_iterator zamiast iterator 99
Punkt 14: Deklaruj funkcje jako noexcept, jeśli nie zgłaszają wyjątków 104
Punkt 15: Stosuj constexpr, kiedy to tylko możliwe 112
Punkt 16: Dbaj o bezpieczeństwo wątkowe funkcji składowych const 120
Punkt 17: Generowanie specjalnych funkcji składowych 127

4. Wskaźniki inteligentne 137
Punkt 18: Stosuj wskaźniki std::unique_ptr do zarządzania
Punkt 19: Stosuj wskaźniki std::shared_ptr w przypadku zarządzania zasobami o współdzielonym posiadaniu 146
Punkt 20: Stosuj typ std::weak_ptr dla wskaźników przypominających std::shared_ptr, które mogą zawisnąć 157
Punkt 21: Preferuj funkcje std::make_unique i std::make_shared zamiast bezpośredniego używania instrukcji new 163
Punkt 22: Podczas używania idiomu Pimpl definiuj specjalne funkcje składowe w pliku implementacji 173

5. Odwołania do r‑wartości, semantyka przenoszenia i przekazywanie doskonałe 185
Punkt 23: std::move i std::forward 186
Punkt 24: Odróżniaj odwołania uniwersalne od odwołań do r‑wartości 193
Punkt 25: Stosuj std::move w przypadku odwołań do r‑wartości, a std::forward w przypadku odwołań uniwersalnych 199
Punkt 26: Unikaj przeciążania w przypadku odwołań uniwersalnych 209
Punkt 27: Zapoznaj się z alternatywami przeciążania odwołań uniwersalnych 217
Punkt 28: Zwijanie odwołań 233
Punkt 29: Załóż, że operacje przenoszenia nie są ani obecne, ani tanie, ani używane 241
Punkt 30: Zapoznaj się z przypadkami niepowodzeń przenoszenia doskonałego 245

6. Wyrażenia lambda 257
Punkt 31: Unikaj domyślnych trybów przechwytywania 259
Punkt 32: Stosuj przechwytywanie inicjujące do przenoszenia obiektów do domknięć 268
Punkt 33: Stosuj decltype do parametrów auto&&, aby je przekazywać za pomocą std::forward 275
Punkt 34: Preferuj wyrażenia lambda zamiast std::bind 278

7. Interfejs API współbieżności
Punkt 35: Preferuj programowanie oparte na zadaniach zamiast opartego na wątkach 289
Punkt 36: Określ zasadę std::launch::async, jeśli asynchoniczność jest istotna 294
Punkt 37: Doprowadź wątki std::thread do stanu nieprzyłączalnego na wszystkich ścieżkach 300
Punkt 38: Uważaj na różnorodne działanie destruktorów uchwytów wątków 309
Punkt 39: Rozważ obiekty future typu void do komunikacji zdarzeń jednorazowych 314
Punkt 40: Stosuj std::atomic dla współbieżności, a volatile dla pamięci specjalnej 325

8. Szlify 335
Punkt 41: Rozważ przekazywanie przez wartość parametrów, które można kopiować i tanio przenosić – o ile są zawsze kopiowane 335
Punkt 42: Rozważ umieszczanie zamiast wstawiania 348

Cena:    79.80   63.84zł


Skuteczny nowoczesny C++ 42 sposoby lepszego posługiwania się językami C++11 i C++14Książka informatyczna: Skuteczny nowoczesny C++ 42 sposoby lepszego posługiwania się językami C++11 i C++14
Księgarnia informatyczna aton.pl

Tutaj możesz kupić tę książkę w dobrej cenie. Zapraszamy na zakupy do naszej księgarni internetowej.