- Ocena:
- 4.7/6 Opinie: 6
- Stron:
- 456
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
![Wyłącznie](https://static01.helion.com.pl/ebookpoint/img/img_wylacznie.png)
Opis ebooka: C++17 STL. Receptury
C++ pozwala zarówno na tworzenie interfejsów wysokiego poziomu, jak i na pisanie kodu działającego na niskim poziomie. Sprawdza się, gdy trzeba zapewnić wysoką wydajność i niskie obciążenie. Język ten jest konsekwentnie rozwijany: kolejne jego specyfikacje, C++14 i C++17, przyniosły wiele znakomitych udoskonaleń. Aby w pełni wykorzystać ten potencjał, należy korzystać z C++ łącznie z biblioteką STL. Jest to standardowa biblioteka języka, dzięki której C++ jest idealny do implementowania oprogramowania o wysokiej jakości i dużej wydajności. Zalety C++ sprawiają, że jest wykorzystywany niemal w każdej dziedzinie. Niestety, wielu programistów nie używa STL.
Dzięki tej książce poznasz użyteczność biblioteki standardowej (STL) w C++17 w praktyce, co pozwoli Ci na tworzenie efektywniejszego i w pełni przenośnego kodu źródłowego. Najpierw poznasz nowe funkcje języka, co pozwoli Ci na zrozumienie reguł rządzących C++, oraz funkcje biblioteki standardowej i sposób jej działania. Podczas pracy nad praktycznymi i łatwymi do wykorzystania recepturami poznasz podstawowe koncepcje STL, takie jak kontener, algorytm, klasa narzędziowa, wyrażenie lambda, iterator i wiele innych. Dowiesz się, jak działają najnowsze funkcje wprowadzone w standardzie C++17. Dzięki temu zaoszczędzisz czas i wysiłek podczas programowania, a Twój kod stanie się prostszy i zdecydowanie bardziej elegancki.
W książce między innymi:
- Nowości w standardzie C++ 17
- Kontenery STL i koncepcja iteratorów
- Wyrażenia lambda i zaawansowane algorytmy biblioteki STL
- Ciągi tekstowe, strumienie wejścia-wyjścia i wyrażenia regularne
- Programowanie równoległe i współbieżność
C++17 i STL. Elegancka klasyka i potężne możliwości.
Ponad 90 receptur, dzięki którym wykorzystasz potężne możliwości biblioteki standardowej w C++17
Język C++ przebył długą drogę i pozostaje w użyciu właściwie na każdym obszarze informatyki. Ponieważ jest szybki, efektywny i elastyczny, więc nadal pozostaje wykorzystywany do rozwiązywania wielu problemów. Nadchodząca wersja C++ spowoduje, że programiści zmienią sposób tworzenia kodu. Jeżeli chcesz w praktyce poznać użyteczność biblioteki standardowej (STL) w C++17, aby móc tworzyć działający sprytniej oraz w pełni przenośny kod źródłowy, ta książka jest skierowana właśnie do Ciebie.
Na początku poznasz nowe funkcje języka, co pozwoli na zrozumienie reguł rządzących C++ oraz biblioteki standardowej i sposobu jej działania. W przeciwieństwie do innych książek, w tej zastosowano oparte na implementacji podejście w zakresie rozwiązania konkretnego problemu. Dzięki temu można szybko pokonać ewentualne trudności. Podstawowe koncepcje STL, takie jak kontener, algorytm, klasa narzędziowa, wyrażenie lambda, iterator i wiele innych, poznasz podczas pracy nad praktycznymi i rzeczywistymi recepturami. Pomogą one w maksymalnym wykorzystaniu STL i pokażą, jak można jeszcze lepiej tworzyć kod.
Zanim zakończysz lekturę książki, będziesz znać najnowsze funkcje wprowadzone w standardzie C++17. Dzięki temu możesz zaoszczędzić sobie czasu i wysiłku podczas eleganckiego wykonywania zadań z użyciem STL.
W tej książce:
- poznasz najnowsze funkcje języka C++ i problemy, do rozwiązywania których zostały przeznaczone
- poznasz wewnętrzny sposób działania i wymagania iteratorów przez po prostu ich implementowanie
- poznasz algorytmy, styl programowania funkcyjnego i wyrażenia lambda
- wykorzystasz bogate, przenośne, szybkie, doskonale zaprojektowane i dokładnie przetestowane algorytmy dostarczone przez STL
- nauczysz się pracować z ciągami tekstowymi w sposób zgodny z STL, a nie w stylu języka C
- poznasz standardowe klasy pomocnicze dla współbieżności i synchronizacji oraz zobaczysz, jak można je praktycznie wykorzystać
- nauczysz się pracować z biblioteką systemu plików dodaną do STL w C++17
![Czytelniczy kiermasz na koniec wakacji / Książki -40%, Ebooki -50%](https://static01.helion.com.pl/ebookpoint/img/promocje/bannery/19985/box_1180x419_SM_ebp_czytelniczy_kiermasz_na_koniec_wakacji_f597d2a57.jpg)
Wybrane bestsellery
-
C++ has come a long way and is in use in every area of the industry. Fast, efficient, and flexible, it is used to solve many problems. The upcoming version of C++ will see programmers change the way they code. If you want to grasp the practical usefulness of the C++ 17 STL in order to write smart...
-
Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany językiem C opracował jeden z najważniejszych, najbardziej elastycznych i do dziś niezastąpionych języków programowania — C++. Dziś ten język jest wykorzystywany do tworzenia gier ko...(149.40 zł najniższa cena z 30 dni)
149.40 zł
249.00 zł(-40%) -
Unlock the power of C++ and enhance your algorithmic thinking with this course. From understanding basic operations to mastering complex structures, this course provides a structured pathway for new programmers. Start your coding journey today!
-
Kiedy myślimy o takich aplikacjach jak Maya, VirtualBox, Telegram, Spotify, Dropbox czy Google Earth, być może nie od razu znajdujemy wspólny mianownik. A jest nim framework Qt, używany przez wszystkie te znane marki. Qt powstał z myślą o programowaniu interfejsów graficznych GUI, a ze względu na...(74.50 zł najniższa cena z 30 dni)
104.30 zł
149.00 zł(-30%) -
C++ to jeden z najpopularniejszych i najpotężniejszych języków programowania. Stanowi punkt wyjścia dla wielu innych języków, które odziedziczyły po nim składnię i liczne możliwości, dzięki czemu można śmiało stwierdzić, że znajomość C++ otwiera drzwi do świata nowoczesnego programowania i jest p...(41.40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł(-40%) -
This book is a fun introduction to the world of game programming, C++20, and the OpenGL-powered SFML using four fun, fully playable games of increasing difficulty and advancing features
-
Modern CMake for C++ is your guide to building, testing, and packaging software with ease. You'll learn to create maintainable projects, compile and link executables and libraries, use external dependencies, and more.
-
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.
O autorze ebooka
Jacek Galowicz do niedawna implementował sterowniki jądra w C i C++. Tworzył też grafiki 3D i bazy danych, zajmował się również komunikacją sieciową. Ostatnio pracuje w firmach Intel oraz FireEye, gdzie programuje systemy operacyjne o dużej wydajności i wysokim poziomie bezpieczeństwa, wykorzystując wirtualizację Intel x86. Jego ogromną pasją są nowoczesne implementacje C++ na niskim poziomie i łączenie w kodzie wysokiej wydajności z eleganckim stylem.
Zobacz pozostałe książki z serii Receptury
-
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbio...(53.40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Oto kompleksowe omówienie sposobów wdrażania najnowszych dostępnych środków zabezpieczających systemy linuksowe. Z książki dowiesz się, jak skonfigurować laboratorium do ćwiczeń praktycznych, tworzyć konta użytkowników z odpowiednimi poziomami uprawnień, chronić dane dzięki uprawnieniom i szyfrow...(77.40 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł(-40%) -
Ta książka pomoże Ci w doskonaleniu umiejętności potrzebnych na każdym etapie dochodzenia cyfrowego, od zbierania dowodów, poprzez ich analizę, po tworzenie raportów. Dzięki wielu wskazówkom i praktycznym ćwiczeniom przyswoisz techniki analizy, ekstrakcji danych i raportowania przy użyciu zaawans...(59.40 zł najniższa cena z 30 dni)
59.40 zł
99.00 zł(-40%) -
Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework F...(41.40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł(-40%) -
Oto uzupełnione i zaktualizowane wydanie bestsellerowego przewodnika dla inżynierów sieci. Dzięki niemu przejdziesz trudną (ale ekscytującą!) drogę od tradycyjnej platformy do platformy sieciowej opartej na najlepszych praktykach programistycznych. Zaczniesz od zagadnień podstawowych, aby następn...(77.40 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł(-40%) -
Oto zaktualizowane wydanie bestsellerowego przewodnika dla architektów rozwiązań. Dzięki niemu dobrze poznasz wzorce projektowe wbudowane w chmurę, czyli model AWS Well-Architected Framework. Zaznajomisz się z sieciami w chmurze AWS z uwzględnieniem sieci brzegowych i tworzeniem hybrydowych połąc...
AWS dla architektów rozwiązań. Tworzenie, skalowanie i migracja aplikacji do chmury Amazon Web Services. Wydanie II
Saurabh Shrivastava, Neelanjali Srivastav, Alberto Artasanchez, Imtiaz Sayed
(83.40 zł najniższa cena z 30 dni)83.40 zł
139.00 zł(-40%) -
Ten szczegółowy przewodnik pozwoli Ci na błyskawiczne zapoznanie się z .NET MAUI i sprawne rozpoczęcie pisania aplikacji za pomocą tej technologii. Zaprezentowano w nim filozofię działania .NET MAUI, jak również przebieg prac nad tworzeniem kompletnej aplikacji wieloplatformowej dla systemów: And...(47.40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł(-40%) -
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środo...(53.40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Oto praktyczny, przystępnie napisany przewodnik, który stanowi wprowadzenie do pracy z technologią Blazor. Opisuje możliwości modeli Server i WebAssembly, przedstawia także krok po kroku proces powstawania aplikacji internetowej. Dzięki temu płynnie przejdziesz do tworzenia projektów Blazor, nauc...(41.40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł(-40%) -
To książka przeznaczona dla profesjonalnych administratorów i użytkowników Linuksa. Dzięki niej szybciej zrozumiesz, w jakim stopniu dobre zarządzanie systemami na poziomie systemu operacyjnego może wynieść działanie infrastruktury biznesowej na zupełnie inny poziom. Znajdziesz tu najlepsze prakt...(53.40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%)
Ebooka "C++17 STL. Receptury" 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 "C++17 STL. Receptury" 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 "C++17 STL. Receptury" 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
Recenzje ebooka: C++17 STL. Receptury (1)
Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Recenzja: Programista Magazyn Rafał KociszRecenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Nie ma co ukrywać: C++ ma dla mnie szczególne znaczenie. Od ponad dwudziestu lat pozostaje on moim podstawowym językiem programowania. I tak jak mój ojczysty język mówiony – czyli język polski – pozwala mi najbardziej dobitnie wyrażać myśli, ubierając je w słowa i zdania, tak za pośrednictwem C++ najprościej mi konstruować abstrakcje i opisywać algorytmy w celu zmuszenia komputera do realizacji określonych zadań. Pomimo tego, iż w międzyczasie poznałem kilkanaście innych języków programowania, które z większym czy mniejszym powodzeniem wykorzystuję do różnych celów, to C++ nadal pozostaje tym językiem, w którym programuję najbardziej efektywnie. C++ w przeciągu ostatnich ośmiu lat przeszedł bardzo gruntowną transformację. Trzy nowe odsłony standardu: C++11, C++14, C++17 ukazały zupełnie nowe oblicze tego języka i sprawiły, że moja pewność siebie w zakresie jego znajomości została poważnie naruszona. Zmotywowany chęcią utrzymania dobrej formy oraz płynności w posługiwaniu się moim ulubionym językiem programowania, od pewnego czasu systematycznie nadrabiam zaległości. Jako że jestem osobą, która lubi uczyć się, czytając książki, nieustannie szukam wartościowych tytułów, dzięki którym mogę realizować opisany wyżej cel. Niestety – nie jest to łatwe. Złota era dobrych książek na temat języka C++, przypadająca na pierwsze lata nowego tysiąclecia, z takim seriami jak Effective C++ autorstwa Scotta Meyersa, Exceptional C++ Herba Suttera czy C++ In Depth pod edycją Bjarne Stroustrup’a, przeminęła… To, co na razie pojawia się na rynku, dalekie jest zazwyczaj od standardu wyznaczonego przez tytuły z tamtego okresu, szczególnie kiedy szukamy pozycji zaawansowanych, przeznaczonych dla doświadczonych programistów. Na szczęście z roku na rok sytuacja powoli się poprawia i pojawiają się książki, które z czystym sumieniem mogę polecić. Dziś w ramach tej kolumny chciałbym omówić właśnie jeden z takich tytułów: C++17 STL. Receptury autorstwa Jacka Galowicza. Na początek kilka słów na temat struktury książki. Jak sugeruje tytuł opracowania, zostało ono przygotowane w dość popularnej konwencji tzw. „książki kucharskiej” (z angielskiego: cookbook). Stosując tę konwencję, zawartość opracowania organizuje się jako zestaw niezależnych, samodzielnych punktów, gdzie w każdym przedstawiono techniczne rozwiązanie konkretnego problemu. Podejście takie implikuje wysoce praktyczny charakter opracowania. C++17 STL. Receptury nie stanowi tutaj wyjątku: książka zawiera ponad dziewięćdziesiąt receptur zebranych w dziesięciu grupach tematycznych. W sumie mamy tutaj ponad 500 stron zawartości, przeznaczonej głównie dla średnio zaawansowanych i zaawansowanych programistów C++; zdecydowanie nie jest to książka dla osób, które dopiero uczą się podstaw tego języka. Przyjrzyjmy się merytorycznej zawartości publikacji. Tak jak wspomniałem wyżej, jest ona podzielona na dziesięć rozdziałów zawierających receptury o zbliżonej tematyce: » Nowe funkcje w C++17, » Kontenery STL, » Iteratory, » Wyrażenia lambda, » Podstawy algorytmów biblioteki STL, » Zaawansowane przykłady użycia algorytmów biblioteki STL, » Ciągi tekstowe, klasy strumieni i wyrażenia regularne, » Klasy narzędziowe, » Programowanie równoległe i współbieżność, » System plików. Tym, co rzuciło mi się w oczy w trakcie studiowania zawartości poszczególnych rozdziałów, jest bardzo silny nacisk położony przez autora na prezentację najnowszych elementów języka C++ oraz biblioteki STL. Ponadto książka Jacka Galowicza jest niewątpliwie opracowaniem bardzo kompletnym i kompleksowym: dotyka wielu aspektów i daje bardzo szeroki pogląd na bibliotekę standardową języka C++17. W tym ujęciu mogę śmiało stwierdzić, iż pozycja ta dopasowała się wręcz idealnie do moich potrzeb. Co więcej, muszę w tym miejscu pochwalić autora za to, że udało mu się uniknąć pułapki banalności, w którą często wpadają twórcy „cookbooków”. W przypadku pozycji C++17 STL. Receptury omawiane zagadnienia (poza tym, że zaimplementowane są z należytą starannością) mają w sobie jakąś iskrę, coś, co sprawia, iż lektura tego opracowania jest wciągająca i daje sporo satysfakcji (przykład? Proszę: implementowanie procedury generującej dane ASCII dla zbioru Mandelbrota). Ja osobiście wyniosłem z lektury omawianego tu tytułu bardzo dużo, z tego względu polecam go wszystkim czytelnikom zainteresowanym podniesieniem swoich kwalifikacji z zakresu programowania w nowoczesnej odsłonie języka C++.
Szczegóły ebooka
- Tytuł oryginału:
- C++17 STL Cookbook
- Tłumaczenie:
- Robert Górczyński
- ISBN Książki drukowanej:
- 978-83-283-4501-0, 9788328345010
- Data wydania książki drukowanej:
- 2018-09-21
- ISBN Ebooka:
- 978-83-283-4502-7, 9788328345027
- Data wydania ebooka:
-
2018-09-21
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:
- 170x230
- Numer z katalogu:
- 74660
- Rozmiar pliku Pdf:
- 4.7MB
- Rozmiar pliku ePub:
- 5.9MB
- Rozmiar pliku Mobi:
- 14.4MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Erraty / Zgłoś erratę
- Serie wydawnicze: Receptury
Spis treści ebooka
- Wprowadzenie (21)
- Użycie strukturalnych wiązań do rozpakowania wartości zwrotnej (22)
- Jak to zrobić? (22)
- Jak to działa? (24)
- Co dalej? (24)
- Ograniczanie zasięgu zmiennej do konstrukcji if i switch (26)
- Jak to zrobić? (26)
- Jak to działa? (27)
- Co dalej? (28)
- Zalety stosowania nowych reguł inicjalizacji z użyciem składni opartej na nawiasach (29)
- Jak to zrobić? (29)
- Jak to działa? (30)
- Umożliwienie konstruktorowi automatycznego określenia typu klasy szablonu (31)
- Jak to zrobić? (31)
- Jak to działa? (31)
- Co dalej? (32)
- Użycie wyrażenia constexpr-if do uproszczenia decyzji podejmowanych podczas kompilacji (33)
- Jak to zrobić? (34)
- Jak to działa? (35)
- Co dalej? (36)
- Włączenie bibliotek w postaci samych nagłówków z użyciem osadzonych zmiennych (37)
- Jak to zrobić? (37)
- Jak to działa? (38)
- Co dalej? (39)
- Implementowanie za pomocą wyrażeń fold przydatnych funkcji pomocniczych (40)
- Jak to zrobić? (40)
- Jak to działa? (41)
- Co dalej? (41)
- Wprowadzenie (48)
- Magazyn danych znajdujących się obok siebie (48)
- Magazyn danych w postaci listy (49)
- Drzewo wyszukiwania (49)
- Tabela wartości hash (50)
- Adapter kontenera (50)
- Użycie stylu usuń - wymaż w kontenerze std::vector (50)
- Jak to zrobić? (51)
- Jak to działa? (52)
- Co dalej? (54)
- Usuwanie w czasie O(1) elementów z nieposortowanego kontenera std::vector (54)
- Jak to zrobić? (55)
- Jak to działa? (57)
- Uzyskanie bezpiecznego dostępu do egzemplarzy std::vector (58)
- Jak to zrobić? (58)
- Jak to działa? (59)
- Co dalej? (60)
- Sortowanie egzemplarzy std::vector (60)
- Jak to zrobić? (60)
- Jak to działa? (62)
- Co dalej? (62)
- Efektywne i warunkowe wstawianie elementów do kontenera std::map (63)
- Jak to zrobić? (63)
- Jak to działa? (65)
- Co dalej? (66)
- Stosowanie nowej semantyki podpowiedzi podczas wstawiania elementów za pomocą std::map::insert (66)
- Jak to zrobić? (66)
- Jak to działa? (68)
- Co dalej? (68)
- Efektywne modyfikowanie kluczy elementów std::map (69)
- Jak to zrobić? (70)
- Jak to działa? (72)
- Co dalej? (72)
- Użycie kontenera std::unordered_map z niestandardowymi typami danych (73)
- Jak to zrobić? (73)
- Jak to działa? (75)
- Filtrowanie duplikatów w danych wejściowych użytkownika i
wyświetlanie ich w kolejności alfabetycznej za pomocą kontenera
std::set (76)
- Jak to zrobić? (76)
- Jak to działa? (77)
- Implementowanie za pomocą kontenera std::stack prostego kalkulatora RPN (79)
- Jak to zrobić? (80)
- Jak to działa? (82)
- Co dalej? (84)
- Implementowanie za pomocą kontenera std::map licznika częstotliwości występowania słów (85)
- Jak to zrobić? (85)
- Jak to działa? (87)
- Implementowanie za pomocą kontenera std::set narzędzia
pomocniczego przeznaczonego do wyszukiwania bardzo długich zdań w
tekście (88)
- Jak to zrobić? (89)
- Jak to działa? (91)
- Co dalej? (92)
- Implementowanie za pomocą kontenera std::priority_queue listy rzeczy do zrobienia (93)
- Jak to zrobić? (93)
- Jak to działa? (95)
- Wprowadzenie (97)
- Kategorie iteratorów (99)
- Tworzenie własnego zakresu, który można iterować (101)
- Jak to zrobić? (101)
- Jak to działa? (103)
- Tworzenie własnych iteratorów zgodnych z kategoriami iteratora STL (104)
- Jak to zrobić? (104)
- Jak to działa? (106)
- Co dalej? (107)
- Użycie adapterów iteratora do wypełniania ogólnych struktur danych (107)
- Jak to zrobić? (107)
- Jak to działa? (109)
- Implementowanie algorytmów w kategoriach iteratorów (110)
- Jak to zrobić? (111)
- Co dalej? (113)
- Iteracja w drugą stronę za pomocą adaptera iteratora odwrotnego (114)
- Jak to zrobić? (114)
- Jak to działa? (115)
- Zakończenie działania iteratora w zakresie za pomocą wartownika iteratora (116)
- Jak to zrobić? (117)
- Automatyczne sprawdzanie kodu iteratora (119)
- Jak to zrobić? (119)
- Jak to działa? (122)
- Co dalej? (123)
- Tworzenie własnego adaptera iteratora łączenia na zakładkę (123)
- Jak to zrobić? (125)
- Co dalej? (128)
- Wprowadzenie (131)
- Definiowanie funkcji opartej na wyrażeniu lambda (133)
- Jak to zrobić? (133)
- Jak to działa? (136)
- Dodawanie polimorfizmu poprzez opakowanie wyrażenia lambda egzemplarzem std::function (138)
- Jak to zrobić? (138)
- Jak to działa? (140)
- Łączenie funkcji za pomocą konkatenacji (141)
- Jak to zrobić? (142)
- Jak to działa? (143)
- Tworzenie skomplikowanych predykatów z logiczną koniunkcją (144)
- Jak to zrobić? (145)
- Co dalej? (146)
- Wywoływanie wielu funkcji dla tych samych danych wejściowych (146)
- Jak to zrobić? (147)
- Jak to działa? (148)
- Implementowanie funkcji transform_if() za pomocą algorytmu std::accumulate i wyrażeń lambda (150)
- Jak to zrobić? (150)
- Jak to działa? (152)
- Generowanie w trakcie kompilacji iloczynu kartezjańskiego par dla dowolnych danych wejściowych (155)
- Jak to zrobić? (156)
- Jak to działa? (158)
- Wprowadzenie (161)
- Kopiowanie elementów między kontenerami (163)
- Jak to zrobić? (164)
- Jak to działa? (166)
- Sortowanie kontenera (167)
- Jak to zrobić? (167)
- Jak to działa? (170)
- Usuwanie określonych elementów z kontenera (171)
- Jak to zrobić? (171)
- Jak to działa? (173)
- Przekształcanie zawartości kontenera (174)
- Jak to zrobić? (174)
- Jak to działa? (176)
- Wyszukiwanie elementów w uporządkowanych i nieuporządkowanych wektorach (176)
- Jak to zrobić? (177)
- Jak to działa? (180)
- Ograniczanie za pomocą std::clamp wartości wektora do określonego zakresu liczbowego (182)
- Jak to zrobić? (182)
- Jak to działa? (185)
- Wyszukiwanie za pomocą std::search wzorca w ciągu tekstowym i wybór optymalnej implementacji (186)
- Jak to zrobić? (186)
- Jak to działa? (188)
- Próbkowanie ogromnego wektora (189)
- Jak to zrobić? (190)
- Jak to działa? (192)
- Generowanie permutacji sekwencji danych wejściowych (193)
- Jak to zrobić? (193)
- Jak to działa? (194)
- Implementowanie narzędzia łączenia słowników (195)
- Jak to zrobić? (195)
- Jak to działa? (197)
- Wprowadzenie (200)
- Implementowanie klasy drzewa trie za pomocą algorytmów STL (201)
- Jak to zrobić? (201)
- Jak to działa? (204)
- Implementowanie za pomocą drzewa trie generatora sugestii danych wejściowych używanych podczas wyszukiwania (206)
- Jak to zrobić? (206)
- Jak to działa? (210)
- Co dalej? (210)
- Implementowanie wzoru przekształcenia Fouriera za pomocą algorytmów STL (211)
- Jak to zrobić? (212)
- Jak to działa? (217)
- Obliczanie błędu sumy dwóch wektorów (218)
- Jak to zrobić? (218)
- Jak to działa? (220)
- Implementowanie procedury generującej dane ASCII dla zbioru Mandelbrota (221)
- Jak to zrobić? (223)
- Jak to działa? (226)
- Opracowanie własnego algorytmu - podział danych (227)
- Jak to zrobić? (228)
- Jak to działa? (229)
- Co dalej? (230)
- Połączenie użytecznych algorytmów biblioteki STL - zbieranie danych (231)
- Jak to zrobić? (231)
- Jak to działa? (233)
- Usuwanie nadmiarowych białych znaków znajdujących się między słowami (235)
- Jak to zrobić? (235)
- Jak to działa? (237)
- Kompresja i dekompresja ciągów tekstowych (238)
- Jak to zrobić? (238)
- Jak to działa? (240)
- Co dalej? (241)
- Wprowadzenie (244)
- Tworzenie, konkatenacja i przekształcanie ciągów tekstowych (245)
- Jak to zrobić? (246)
- Jak to działa? (248)
- Usuwanie białych znaków z początku i końca ciągu tekstowego (248)
- Jak to zrobić? (249)
- Jak to działa? (250)
- Komfortowe użycie klasy std::string bez kosztów związanych z tworzeniem obiektów std::string (251)
- Jak to zrobić? (252)
- Jak to działa? (254)
- Odczyt wartości z danych wejściowych dostarczonych przez użytkownika (254)
- Jak to zrobić? (255)
- Jak to działa? (257)
- Zliczanie wszystkich słów w pliku (258)
- Jak to zrobić? (258)
- Jak to działa? (260)
- Formatowanie danych wyjściowych za pomocą manipulatorów strumienia wejścia - wyjścia (260)
- Jak to zrobić? (261)
- Jak to działa? (264)
- Inicjalizacja skomplikowanych obiektów na podstawie pliku źródłowego (266)
- Jak to zrobić? (266)
- Jak to działa? (268)
- Wypełnianie kontenera za pomocą iteratorów std::istream (269)
- Jak to zrobić? (269)
- Jak to działa? (272)
- Proste wyświetlanie danych za pomocą iteratorów std::ostream (273)
- Jak to zrobić? (273)
- Jak to działa? (276)
- Przekierowywanie sekcji kodu do pliku danych wyjściowych (277)
- Jak to zrobić? (278)
- Jak to działa? (280)
- Tworzenie własnych klas ciągu tekstowego za pomocą dziedziczenia po klasie std::char_traits (281)
- Jak to zrobić? (282)
- Jak to działa? (286)
- Tokenizowanie danych wejściowych za pomocą biblioteki wyrażeń regularnych (287)
- Jak to zrobić? (287)
- Jak to działa? (289)
- Wygodne formatowanie liczb w locie w zależności od kontekstu (291)
- Jak to zrobić? (291)
- Przechwytywanie na podstawie błędów std::iostream wyjątków możliwych do odczytania (293)
- Jak to zrobić? (294)
- Jak to działa? (296)
- Wprowadzenie (298)
- Konwertowanie między różnymi jednostkami czasu za pomocą std::ratio (298)
- Jak to zrobić? (299)
- Jak to działa? (301)
- Co dalej? (303)
- Konwertowanie między bezwzględnymi i względnymi wartościami czasu za pomocą std::chrono (304)
- Jak to zrobić? (304)
- Jak to działa? (306)
- Bezpieczne sygnalizowanie awarii za pomocą typu std::optional (307)
- Jak to zrobić? (307)
- Jak to działa? (310)
- Użycie funkcji wraz z krotkami (311)
- Jak to zrobić? (311)
- Jak to działa? (313)
- Szybkie opracowywanie struktur danych za pomocą std::tuple (313)
- Jak to zrobić? (314)
- Jak to działa? (318)
- Zastąpienie void* przez std::any dla zwiększenia bezpieczeństwa typu (320)
- Jak to zrobić? (321)
- Jak to działa? (323)
- Przechowywanie różnych typów za pomocą std::variant (323)
- Jak to zrobić? (324)
- Jak to działa? (327)
- Automatyczna obsługa zasobów za pomocą std::unique_ptr (329)
- Jak to zrobić? (329)
- Jak to działa? (332)
- Automatyczna obsługa współdzielonej pamięci na stercie za pomocą std::shared_ptr (333)
- Jak to zrobić? (333)
- Jak to działa? (336)
- Co dalej? (337)
- Praca ze słabymi wskaźnikami do współdzielonych obiektów (338)
- Jak to zrobić? (339)
- Jak to działa? (341)
- Uproszczenie obsługi zasobów przestarzałych API za pomocą sprytnych wskaźników (342)
- Jak to zrobić? (343)
- Jak to działa? (344)
- Współdzielenie różnych wartości składowych tego samego obiektu (345)
- Jak to zrobić? (346)
- Jak to działa? (347)
- Generowanie liczb losowych i wybór odpowiedniego silnika do generowania tego rodzaju liczb (348)
- Jak to zrobić? (349)
- Jak to działa? (353)
- Generowanie liczb losowych i umożliwienie bibliotece STL określenia szczegółów rozkładu (354)
- Jak to zrobić? (354)
- Jak to działa? (359)
- Wprowadzenie (362)
- Automatyczne stosowanie programowania równoległego w kodzie utworzonego za pomocą standardowych algorytmów (363)
- Jak to zrobić? (363)
- Jak to działa? (365)
- Uśpienie programu na podany okres czasu (369)
- Jak to zrobić? (369)
- Jak to działa? (370)
- Uruchamianie i zatrzymywanie wątków (371)
- Jak to zrobić? (371)
- Jak to działa? (373)
- Przeprowadzanie bezpiecznego pod względem wyjątków
nakładania blokady współdzielonej za pomocą std::unique_lock i
std::shared_lock (375)
- Jak to zrobić? (375)
- Jak to działa? (378)
- Zapobieganie zakleszczeniom dzięki stosowaniu algorytmu std::scoped_lock (381)
- Jak to zrobić? (382)
- Jak to działa? (384)
- Synchronizacja jednoczesnego użycia algorytmu std::cout (384)
- Jak to zrobić? (385)
- Jak to działa? (386)
- Bezpieczne odkładanie inicjalizacji za pomocą std::call_once (388)
- Jak to zrobić? (389)
- Jak to działa? (390)
- Przesunięcie zadania do wykonywania w tle za pomocą std::async (390)
- Jak to zrobić? (391)
- Jak to działa? (393)
- Co dalej? (395)
- Implementacja wzorca producent - konsument za pomocą std::condition_variable (395)
- Jak to zrobić? (396)
- Jak to działa? (398)
- Implementacja wzorca producent - konsument za pomocą std::condition_variable (400)
- Jak to zrobić? (400)
- Jak to działa? (404)
- Równoległe generowanie za pomocą std::async danych ASCII dla zbioru Mandelbrota (406)
- Jak to zrobić? (406)
- Jak to działa? (409)
- Implementacja za pomocą std::future niewielkiej biblioteki automatycznej programowania równoległego (410)
- Jak to zrobić? (411)
- Jak to działa? (415)
- Wprowadzenie (419)
- Implementowanie programu przeprowadzającego normalizację ścieżki dostępu (420)
- Jak to zrobić? (420)
- Jak to działa? (422)
- Co dalej? (422)
- Pobieranie kanonicznej ścieżki dostępu na podstawie względnej ścieżki dostępu (423)
- Jak to zrobić? (423)
- Jak to działa? (426)
- Wyświetlanie wszystkich plików znajdujących się w danym katalogu (426)
- Jak to zrobić? (427)
- Jak to zrobić? (430)
- Implementowanie programu wyszukującego dane i działającego podobnie jak narzędzie grep (431)
- Jak to zrobić? (431)
- Jak to działa? (433)
- Co dalej? (434)
- Implementowanie programu automatycznie zmieniającego nazwy plików (434)
- Jak to zrobić? (435)
- Implementowanie programu obliczającego wielkość katalogu (437)
- Jak to zrobić? (437)
- Jak to działa? (439)
- Obliczanie danych statystycznych dotyczących typów plików (440)
- Jak to zrobić? (440)
- Implementowanie narzędzia zmniejszającego wielkość katalogu
poprzez zastąpienie powielonych plików dołączeniami
symbolicznymi (442)
- Jak to zrobić? (443)
- Jak to działa? (445)
- Co dalej? (446)
O autorze (13)
O redaktorze merytorycznym (14)
Wprowadzenie (15)
Rozdział 1. Nowe funkcje w C++17 (21)
Rozdział 2. Kontenery STL (47)
Rozdział 3. Iteratory (97)
Rozdział 4. Wyrażenia lambda (131)
Rozdział 5. Podstawy algorytmów biblioteki STL (161)
Rozdział 6. Zaawansowane przykłady użycia algorytmów biblioteki STL (199)
Rozdział 7. Ciągi tekstowe, klasy strumieni i wyrażenia regularne (243)
Rozdział 8. Klasy narzędziowe (297)
Rozdział 9. Programowanie równoległe i współbieżność (361)
Rozdział 10. System plików (419)
Skorowidz (447)
Oceny i opinie klientów: C++17 STL. Receptury Jacek Galowicz (6)
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.
(4)
(0)
(0)
(0)
(2)
(0)
więcej opinii