C++

25
Ebook
26
Ebook

C++ Zbiór zadań z rozwiązaniami

Tomasz Jaśniewski

Hello world! ― i co dalej w C++? Autor tego zbioru zadań jest programistą i nauczycielem. To prawdziwy pasjonat programowania ― w tym w języku C++ ― które traktuje jak przedłużenie ludzkiej mowy. Uważa, że praktycznie na wszystko, co robimy w życiu, można spojrzeć jak na wykonywanie funkcji i algorytmów, które opisujemy za pomocą słów. Od razu widać związek między podejściem humanistycznym i informatycznym! Dlatego też nauka programowania w żadnym stopniu nie jest opanowywaniem jakiejś specjalnej wiedzy tylko dla wtajemniczonych. To po prostu utrwalanie tego, co już wiemy i umiemy, tyle że w sposób logiczny i uporządkowany.  Niestety, nauka języków programowania w szkole nader często ogranicza się do przekazania suchych informacji na ich temat. Wielu uczniów, instynktownie wyczuwając potencjał zdobytej właśnie wiedzy na temat C++, stawia pytania: Co mam teraz robić? Jaki program napisać? Jak wykorzystać to, co było na lekcjach? W odpowiedzi na nie powstał ten zbiór zadań. Stanowi on próbę ukierunkowania, uporządkowania i wzbogacenia czasu pomiędzy pierwszą lekcją z „Hello world!” a pierwszą sprzedaną aplikacją ― stworzoną samodzielnie lub w zespole. Czasu radosnej nauki, kiedy wszystko wydaje się możliwe, a ogranicza nas tylko wyobraźnia. Poświęcony C++ zbiór zadań z rozwiązaniami: jest podzielony na części zależne od posiadanych umiejętności, a te zostały uporządkowane tak, by odpowiadać procesowi nauki języka C++ pomaga zwłaszcza w przygotowaniu do matury z informatyki i w nauce programowania na studiach uwzględnia standard C++20 zawiera propozycje rozwiązań 

27
Ebook

C# 7 and .NET Core 2.0 High Performance. Build highly performant, multi-threaded, and concurrent applications using C# 7 and .NET Core 2.0

Ovais Mehboob Ahmed Khan

While writing an application, performance is paramount. Performance tuning for realworld applications often involves activities geared toward fnding bottlenecks; however, this cannot solve the dreaded problem of slower code. If you want to improve the speed of your code and optimize an application's performance, then this book is for you. C# 7 and .NET Core 2.0 High Performance begins with an introduction to the new features of what?explaining how they help in improving an application's performance. Learn to identify the bottlenecks in writing programs and highlight common performance pitfalls, and learn strategies to detect and resolve these issues early. You will explore multithreading and asynchronous programming with .NET Core and learn the importance and effcient use of data structures. This is followed with memory management techniques and design guidelines to increase an application’s performance. Gradually, the book will show you the importance of microservices architecture for building highly performant applications and implementing resiliency and security in .NET Core. After reading this book, you will learn how to structure and build scalable, optimized, and robust applications in C#7 and .NET.

28
Ebook

C++ and Algorithmic Thinking for the Complete Beginner. Learn to think like a programmer by mastering C++ and foundational algorithms from scratch

Aristides Bouras

Embark on your programming journey with a thorough introduction to how computers work, setting the stage for understanding C++ and its applications. This course begins with the basics, including setting up your development environment and installing necessary software packages. As you progress, you'll delve into fundamental algorithmic concepts, variables, constants, and handling input and output efficiently.As you build your knowledge, the course introduces more complex topics such as sequence control structures, decision-making processes, and loop control structures. You will learn to manipulate numbers, strings, and understand the intricacies of operators through practical exercises and real-world examples. Visual aids like trace tables and flowcharts will help you visualize the flow of your programs and improve your debugging skills.Towards the end of the course, you'll explore advanced topics such as arrays, data structures, subprograms, and an introduction to object-oriented programming. By the conclusion, you will also gain insights into file handling and advanced algorithmic strategies. Each chapter is designed to build on the previous one, ensuring a cohesive and comprehensive learning experience that equips you with the skills needed to excel in C++ programming and algorithmic thinking.

29
30
Ebook

C++. Biblioteka standardowa. Podręcznik programisty. Wydanie II

Nicolai M. Josuttis

Lektura obowiązkowa dla każdego programisty C++! Pomimo olbrzymiej konkurencji ze strony platformy .NET oraz języka Java język C++ wciąż jest niezastąpiony w wielu dziedzinach. Wszędzie tam, gdzie wymagane są najwyższa wydajność, pełna kontrola nad sprzętem oraz przewidywalność, C++ jest bezkonkurencyjny. Biblioteka standardowa C++ to zestaw klas i interfejsów, które w znaczny sposób zwiększają możliwości tego języka. Warto wykorzystać jej potencjał! Biblioteka standardowa C++ poza wieloma niewątpliwymi zaletami ma jedną poważną wadę - jest trudna do opanowania. Właśnie dlatego potrzebny Ci jest ten podręcznik! W trakcie lektury poznasz nowe elementy języka C++ w wersji 11. Następnie dowiesz się, czym jest standardowa biblioteka szablonów (STL), oraz zobaczysz, jak wykorzystać w codziennej pracy: mapy, multimapy, iteratory, listy oraz wiele innych elementów. Na sam koniec nauczysz się poprawnie korzystać ze współbieżności oraz tworzyć aplikacje obsługujące różne wersje językowe. Każdy z komponentów biblioteki został dokładnie przedstawiony: z opisem przeznaczenia, przykładami oraz problemami, których może przysporzyć. Książka ta jest obowiązkową lekturą każdego programisty C++! Dzięki tej książce: poznasz nowości języka C++ w wersji 11 wykorzystasz możliwości kontenerów STL zrozumiesz zastosowanie iteratorów zobaczysz na praktycznych przykładach, jak działają komponenty błyskawicznie opanujesz możliwości biblioteki standardowej C++ Odkryj potęgę C++!

31
Ebook

C++. Ćwiczenia praktyczne. Wydanie III

Andrzej Stasiewicz

Poznaj nowoczesny warsztat pracy programisty Naucz się tworzyć funkcje i używać typów danych Dowiedz się, na czym polega programowanie obiektowe w C++ Przekonaj się, że programowanie w C++ to nic trudnego! C++ stanowi obecnie najbardziej rozpowszechniony język programowania. Choć nie każdy o tym wie, dał on początek wielu innym, wyspecjalizowanym językom, zaś dla tysięcy studentów kierunków informatycznych niezmiennie pozostaje jednym z najważniejszych przedmiotów na studiach. Napisane w nim aplikacje można spotkać dosłownie na każdym kroku i w każdym systemie operacyjnym, a sprawnie posługujący się nim programiści mogą liczyć na dobre oferty pracy. Mimo upływu lat C++ wciąż jest językiem bardzo nowoczesnym, a dzięki długiej historii stanowi narzędzie bardzo dojrzałe i doskonale sprawdzone. Jedynym problemem wydaje się to, że tak wiele osób uważa go za język skomplikowany i trudny do opanowania. O tym, że wcale tak być nie musi, możesz przekonać się dzięki książce "C++. Ćwiczenia praktyczne. Wydanie III ". Zgromadzone w niej informacje i ćwiczenia w prosty i niezwykle pragmatyczny sposób wprowadzą Cię w podstawy "tajemnej" wiedzy programistycznej. Dowiesz się między innymi, jak posługiwać się plikami źródłowymi tworzącymi program C++, zapewniać sobie dostęp do bibliotek i używać funkcji standardowych, wykonywać operacje wejścia-wyjścia, korzystać z różnych instrukcji warunkowych oraz deklarować czy definiować własne funkcje. Poznasz też standardowe typy danych dostępne w języku C++, nauczysz się deklarować zmienne i przeprowadzać na nich rozmaite operacje. Zrozumiesz, jak tworzyć własne typy danych i do czego może Ci się to przydać. Warsztat programisty C++ Podstawowe informacje o języku i narzędziach Organizacja plików źródłowych Obsługa strumieni wejścia i wyjścia Dołączanie bibliotek i korzystanie z funkcji bibliotecznych Implementowanie algorytmów przy użyciu instrukcji warunkowych Deklarowanie i definiowanie własnych funkcji Tworzenie i używanie zmiennych różnych typów Definiowanie własnych typów danych w postaci klas Podstawowe informacje o kontenerach Przećwicz C++ w praktyce!

32
Ebook

C++ Data Structures and Algorithm Design Principles. Leverage the power of modern C++ to build robust and scalable applications

John Carey, Shreyans Doshi, Payas Rajan

C++ is a mature multi-paradigm programming language that enables you to write high-level code with a high degree of control over the hardware. Today, significant parts of software infrastructure, including databases, browsers, multimedia frameworks, and GUI toolkits, are written in C++.This book starts by introducing C++ data structures and how to store data using linked lists, arrays, stacks, and queues. In later chapters, the book explains the basic algorithm design paradigms, such as the greedy approach and the divide-and-conquer approach, which are used to solve a large variety of computational problems. Finally, you will learn the advanced technique of dynamic programming to develop optimized implementations of several algorithms discussed in the book.By the end of this book, you will have learned how to implement standard data structures and algorithms in efficient and scalable C++ 14 code.

33
Ebook

C++ Data Structures and Algorithms. Learn how to write efficient code to build scalable and robust applications in C++

Wisnu Anggoro

C++ is a general-purpose programming language which has evolved over the years and is used to develop software for many different sectors. This book will be your companion as it takes you through implementing classic data structures and algorithms to help you get up and running as a confident C++ programmer.We begin with an introduction to C++ data structures and algorithms while also covering essential language constructs. Next, we will see how to store data using linked lists, arrays, stacks, and queues. Then, we will learn how to implement different sorting algorithms, such as quick sort and heap sort. Along with these, we will dive into searching algorithms such as linear search, binary search and more. Our next mission will be to attain high performance by implementing algorithms to string datatypes and implementing hash structures in algorithm design. We'll also analyze Brute Force algorithms, Greedy algorithms, and more.By the end of the book, you'll know how to build components that are easy to understand, debug, and use in different applications.

34
Ebook

C++ dla bystrzaków. Wydanie VII

Stephen R. Davis

Wprowadzenie do języka C++ Programowanie funkcjonalne Używanie klas nadrzędnych i dziedziczenia Programowanie w języku C++ od podstaw Bez względu na to, czy jesteś początkującym czy średnio zaawansowanym programistą, który chce doszlifować swoje umiejętności, dzięki C++ dla bystrzaków możesz zostać sprawnym programistą. Ten podręcznik, zaktualizowany, uwzględniający zmiany z rozszerzenia do języka C++ z 2014 roku, pomoże Ci zrozumieć klasy, dziedziczenie, pokaże, jak sprawić, by Twój program wykonywał się w sposób bezpieczny - i wiele więcej. W książce: Twój pierwszy program Operatory matematyczne i logiczne Programowanie obiektowe Obsługa błędów i obrona przed hakerami

35
Ebook

C++. Dla każdego. Wydanie VII

Siddhartha Rao

Programowanie w Twoim zasięgu! Pomimo swojego wieku C++ wciąż zajmuje wysoką lokatę na liście najpopularniejszych języków programowania. Przez lata dzięki wydajności oraz dostępności zdobył sobie licznych wielbicieli i wciąż jest niezastąpiony w wielu zadaniach, choć w branży przewagę nad nim mają język Java i platforma .NET. Jeżeli jednak oczekujesz najwyższej wydajności i przewidywalnego czasu wykonania zadania, język C++ może okazać się jedynym słusznym wyborem. Z tą książką opanujesz język C++ bez trudu, poświęcając na to tylko godzinę dziennie! W trakcie lektury zgłębisz jego tajniki, poznasz zalety oraz wady. Każda kolejna godzina to coraz bardziej zaawansowana, a przy tym ciekawsza dawka wiedzy. Opanowanie materiału zawartego w podręczniku pozwoli Ci na pisanie programów o różnym stopniu złożoności oraz swobodne poruszanie się w świecie języka C++. W trakcie lektury opanujesz składnię i elementy języka - tablice, instrukcje warunkowe, pętle czy stałe nie będą miały przed Tobą żadnych tajemnic. W kolejnych rozdziałach dowiesz się, jak wykorzystać wskaźniki i dyrektywy kompilatora. Ponadto zaznajomisz się z zasadami programowania obiektowego oraz poznasz nowości zawarte w wersji 11. Książka ta jest doskonałym źródłem wiedzy dla każdego adepta języka C++! Dzięki tej książce: poznasz składnię języka C++ opanujesz nowości wersji 11 języka C++ poznasz zasady programowania obiektowego napiszesz program o dowolnym stopniu skomplikowania Poznaj i wykorzystaj potencjał języka C++!

36
Ebook

C++ Fundamentals. Hit the ground running with C++, the language that supports tech giants globally

Antonio Mallia, Francesco Zoffoli

C++ Fundamentals begins by introducing you to the C++ compilation model and syntax. You will then study data types, variable declaration, scope, and control flow statements. With the help of this book, you'll be able to compile fully working C++ code and understand how variables, references, and pointers can be used to manipulate the state of the program. Next, you will explore functions and classes — the features that C++ offers to organize a program — and use them to solve more complex problems. You will also understand common pitfalls and modern best practices, especially the ones that diverge from the C++98 guidelines.As you advance through the chapters, you'll study the advantages of generic programming and write your own templates to make generic algorithms that work with any type. This C++ book will guide you in fully exploiting standard containers and algorithms, understanding how to pick the appropriate one for each problem. By the end of this book, you will not only be able to write efficient code but also be equipped to improve the readability, performance, and maintainability of your programs.

37
Ebook

C++ Game Development By Example. Learn to build games and graphics with SFML, OpenGL, and Vulkan using C++ programming

Siddharth Shekar

Although numerous languages are currently being used to develop games, C++ remains the standard for fabricating expert libraries and tool chains for game development. This book introduces you to the world of game development with C++.C++ Game Development By Example starts by touching upon the basic concepts of math, programming, and computer graphics and creating a simple side-scrolling action 2D game. You'll build a solid foundation by studying basic game concepts such as creating game loops, rendering 2D game scenes using SFML, 2D sprite creation and animation, and collision detection. The book will help you advance to creating a 3D physics puzzle game using modern OpenGL and the Bullet physics engine. You'll understand the graphics pipeline, which entails creating 3D objects using vertex and index buffers and rendering them to the scene using vertex and fragment shaders. Finally, you'll create a basic project using the Vulkan library that'll help you get to grips with creating swap chains, image views, render passes, and frame buffers for building high-performance graphics in your games.By the end of this book, you’ll be ready with 3 compelling projects created with SFML, the Vulkan API, and OpenGL, and you'll be able take your game and graphics programming skills to the next level.

38
Ebook

C++ High Performance. Boost and optimize the performance of your C++17 code

Björn Andrist, Viktor Sehr

C++ is a highly portable language and can be used to write both large-scale applications and performance-critical code. It has evolved over the last few years to become a modern and expressive language. This book will guide you through optimizing the performance of your C++ apps by allowing them to run faster and consume fewer resources on the device they're running on without compromising the readability of your code base.The book begins by helping you measure and identify bottlenecks in a C++ code base. It then moves on by teaching you how to use modern C++ constructs and techniques. You'll see how this affects the way you write code. Next, you'll see the importance of data structure optimization and memory management, and how it can be used efficiently with respect to CPU caches. After that, you'll see how STL algorithm and composable Range V3 should be used to both achieve faster execution and more readable code, followed by how to use STL containers and how to write your own specialized iterators.Moving on, you’ll get hands-on experience in making use of modern C++ metaprogramming and reflection to reduce boilerplate code as well as in working with proxy objects to perform optimizations under the hood. After that, you’ll learn concurrent programming and understand lock-free data structures. The book ends with an overview of parallel algorithms using STL execution policies, Boost Compute, and OpenCL to utilize both the CPU and the GPU.

39
Ebook

C++ High Performance. Master the art of optimizing the functioning of your C++ code - Second Edition

Björn Andrist, Viktor Sehr, Ben Garney

C++ High Performance, Second Edition guides you through optimizing the performance of your C++ apps. This allows them to run faster and consume fewer resources on the device they're running on without compromising the readability of your codebase.The book begins by introducing the C++ language and some of its modern concepts in brief. Once you are familiar with the fundamentals, you will be ready to measure, identify, and eradicate bottlenecks in your C++ codebase. By following this process, you will gradually improve your style of writing code. The book then explores data structure optimization, memory management, and how it can be used efficiently concerning CPU caches.After laying the foundation, the book trains you to leverage algorithms, ranges, and containers from the standard library to achieve faster execution, write readable code, and use customized iterators. It provides hands-on examples of C++ metaprogramming, coroutines, reflection to reduce boilerplate code, proxy objects to perform optimizations under the hood, concurrent programming, and lock-free data structures. The book concludes with an overview of parallel algorithms.By the end of this book, you will have the ability to use every tool as needed to boost the efficiency of your C++ projects.

40
Ebook

C++ i Qt. Wprowadzenie do wzorców projektowych. Wydanie II

Alan Ezust, Paul Ezust

Najlepsze wzorce dla C++ i Qt! Język C++ przez długie lata był liderem wśród języków programowania i wciąż jest rozwijany. Qt to zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika, działającego w różnych systemach operacyjnych — Windows, Mac OS X oraz Linux. Projekt jest intensywnie rozwijany od 1992 roku, a najnowsza wersja daje nawet możliwość tworzenia aplikacji internetowych czy mobilnych. Wykorzystanie możliwości C++ oraz potencjału Qt może dać niezwykłe efekty! W trakcie lektury nauczysz się podstaw języka C++ i zgłębisz tajniki bibliotek Qt. Zdobędziesz interesujące informacje na temat wykorzystania kontenerów, metaobiektów, metawłaściwości i mechanizmu refleksji. Dowiesz się, jak wykorzystać wzorzec MVC (ang. Model-View-Controller) oraz w jaki sposób opanować problemy związane z programowaniem współbieżnym. Ponadto nauczysz się panować nad wskaźnikami i unikać typowych problemów związanych z dostępem do pamięci. Książka ta jest doskonałą pozycją dla wszystkich programistów C++, którzy chcą wzbogacić swój warsztat o bibliotekę Qt. Dzięki tej książce: - poznasz podstawy C++ oraz Qt - opanujesz programowanie współbieżne - zrozumiesz wzorzec MVC - zbudujesz interesującą aplikację przy użyciu C++ i Qt Wykorzystaj moc duetu: C++ i Qt!

41
Ebook

C++ in Embedded Systems. A practical transition from C to modern C++

Amar Mahmutbegović, Steve Branam

Transitioning from C can be daunting, with concerns about performance overhead, added complexity, and unfamiliar tooling. Addressing these challenges, Amar Mahmutbegovic, an advocate for modern C++ in embedded development, shows you how to harness zero-cost abstractions, compile-time checks, and powerful modern C++ capabilities to preserve performance while achieving safer, cleaner code. This book bridges the gap between traditional C and advanced C++, helping you retain the efficiency C developers demand while unlocking the safety and expressiveness of modern C++. Starting with a modern development environment setup, including a Docker container for seamless example replication, you’ll overcome the hurdles of using the C++ standard library in memory-constrained settings and get acquainted with the Embedded Template Library (ETL) as an alternative. The book walks you through essential C++ concepts before exploring advanced topics such as templates, strong typing, error handling, compile-time computation, and RAII. Through practical examples, you'll implement a sequencer, write a type-safe HAL, and apply patterns like Command, State, and Observer to solve common embedded development problems. By the end of this book, you’ll have learned how to apply modern C++ to develop robust, modular firmware with performance matching or exceeding hand-coded C solutions.

42
Ebook

C++ Memory Management. Write leaner and safer C++ code using proven memory-management techniques

Patrice Roy, Michael Wong

C++ programmers often face challenges in allocating and managing memory efficiently, especially given the diverse needs of real-time systems, embedded systems, games, and conventional desktop applications. This book offers a targeted approach to address the unique memory constraints of each domain.Written by an ISO C++ Standards Committee member, Patrice Roy, this guide covers fundamental concepts of object lifetime and memory organization to help you write simpler and safer programs. You’ll learn how to control memory allocation mechanisms, create custom containers and allocators, and adapt allocation operators to suit your specific requirements, making your programs smaller, faster, safer, and more predictable.Starting with core principles of memory management, this book introduces modern facilities that simplify your work and then dives into memory management mechanics, building solutions for specific application needs, and measuring their impact on your program’s behavior.By the end of this book, you’ll be able to write secure programs that handle memory optimally for your application domain. You will also have a strong grasp of both high-level abstractions for safer programs and low-level abstractions that allow detailed customization.

43
Ebook

C++ Optymalizacja kodu

Kurt Guntheroth

We współczesnym świecie, pełnym pośpiechu i rywalizacji, wydajność programu jest równie istotna dla klientów, jak oferowane przez niego funkcje. Ten praktyczny podręcznik wyjaśnia podstawowe zasady podnoszenia wydajności, które pomagają w optymalizacji kodu C++. Uczy, jak dostosowywać poprawny kod C++ tak, aby działał on szybciej i zużywał mniej zasobów na każdym komputerze, począwszy od zegarka, poprzez telefon, stację roboczą, superkomputer, aż po globalną sieć serwerów. Autor Kurt Guntheroth prezentuje szereg przykładów demonstrujących, w jaki sposób można, stopniowo wdrażając przedstawione zasady, osiągnąć kod spełniający wymagania klientów dotyczące reaktywności i przepustowości. O przydatności porad zamieszczonych w tej książce będzie się można przekonać, gdy kolega z zespołu zawoła: Zaczęło działać niesamowicie szybko. Kto coś naprawił? Dowiedz się jak: Wyznaczać kandydatów do optymalizacji przy użyciu programu profilującego oraz czasomierzy programowych Przeprowadzać powtarzalne eksperymenty w celu mierzenia wydajności zmodyfikowanych wersji kodu Optymalizować użycie zmiennych dynamicznych Podnieść wydajność kosztownych pętli i funkcji Przyspieszyć działanie funkcji przetwarzających ciągi Rozpoznawać efektywne algorytmy i wzorce optymalizacyjne Identyfikować mocne i słabe strony klas kontenerów w C++ Analizować wyszukiwanie i sortowanie z perspektywy optymalizatora W efektywny sposób używać funkcji przesyłania strumieniowego we/wy w języku C++ W wydajny sposób stosować w kodzie C++ funkcje równoległe bazujące na wątkach Cenne źródło praktycznych porad aktualnych, trafnych i osadzonych w rzeczywistości. Solidne kompendium wiedzy o nowym obliczu języka C++. Jerry Tan Starszy programista, The Depository Trust and Clearing Corporation Kurt Guntheroth, programista z ponad 35-letnim doświadczeniem, od ćwierćwiecza zajmuje się opracowywaniem wydajnego kodu C++. Rozwija programy dla platform Windows, Linux oraz systemów wbudowanych. Kurt mieszka w Seattle w stanie Waszyngton.

44
Ebook

C++. Podróż po języku dla zaawansowanych. Wydanie II

Bjarne Stroustrup

Żadnego programisty nie trzeba przekonywać o zaletach C++. To język dojrzały, wszechstronny, pozwalający uzyskiwać maksymalną wydajność kodu. Do tego wciąż konsekwentnie rozwijany - współczesny C++ wygląda zupełnie inaczej niż dwadzieścia lat temu. Oznacza to, że profesjonalny programista, który chce w pełni wykorzystać zalety nowoczesnego C++, musi bardzo dobrze orientować się w nowościach przynoszonych przez kolejne specyfikacje języka. Warto również wiedzieć, jak zmieniają się dostępne narzędzia językowe i biblioteki, a także które paradygmaty programowania są przez nie wspierane i w jakim zakresie. Ta książka jest idealnym wyborem dla programisty C lub C++, który chce lepiej zapoznać się z nowościami w języku C++. Jest to zwięzły i dokładny przewodnik po najważniejszych elementach języka i komponentach biblioteki standardowej z uwzględnieniem niedawno wprowadzonych udoskonaleń i udogodnień. Znalazły się tu również liczne przykłady i praktyczne wskazówki, które szczególnie istotne okażą się w kontekście paradygmatów programowania, takich jak programowanie generyczne i zorientowane obiektowo. Poza dość podstawowymi zagadnieniami omówiono tu tematykę semantyki przenoszenia, jednolitej inicjalizacji, wyrażeń lambda, kontenerów i współbieżności. Książka kończy się interesującym opisem projektu i ewolucji języka C++. Najciekawsze zagadnienia: podstawy działania kodu C++ operacje standardowe oraz operacje wejścia-wyjścia szablony, w tym szablony funkcji i szablony zmienne algorytmy w C++ i narzędzia pomocnicze zadania, wątki, komunikacja między procesami niektóre nowości planowane dla przyszłych implementacji C++ Na pewno znasz C++. Ale czy sprawnie się nim posługujesz?

45
Ebook

C++. Podróż po języku dla zaawansowanych. Wydanie III

Bjarne Stroustrup

C++ zmienił się nie do poznania: jest nowocześniejszy, bardziej precyzyjny, pozwala też na pisanie zwięzłego i efektywnego kodu. Programista ma dokładniejszą kontrolę nad działaniem programu, co przekłada się na szybkość pracy i lepsze wykorzystywanie zasobów sprzętowych. Dodatkowo ekosystem C++ oferuje mnóstwo bibliotek, narzędzi czy środowisk programistycznych. Aby jednak pisać w nim dobry kod, trzeba sprawnie poruszać się po świecie C++. To drugie wydanie zwięzłego przewodnika po C++ dla doświadczonych programistów, zaktualizowane do standardu C++20. Dzięki niemu zaznajomisz się z najważniejszymi elementami języka i biblioteki standardowej, koniecznymi do efektywnej pracy w takich stylach programowania jak programowanie zorientowane obiektowo czy generyczne. W tym wydaniu opisano wiele nowych elementów dodanych w C++20, w tym moduły, koncepcje, współprocedury i zakresy. Omówiono też wybrane komponenty biblioteki, które pojawią się dopiero w standardzie C++23. Jeśli jesteś programistą C lub C++ i zależy Ci, by lepiej poznać najnowsze możliwości języka C++, albo biegle posługujesz się innym językiem programowania i chcesz ogólnie zaznajomić się z zaletami nowoczesnego C++ ― nie znajdziesz bardziej zwięzłego i prostszego przewodnika niż ten. W książce między innymi: nowe możliwości języka w standardzie C++20 moduły, klasy i obsługa błędów operacje, zarządzanie zasobami i wejście-wyjście generatory, potoki, kontenery współbieżność i wielozadaniowość Oto nowoczesny C++: poznaj jego ukryte możliwości!

46
Ebook

C++ Programming for Linux Systems. Create robust enterprise software for Linux and Unix-based operating systems

Desislav Andreev, Stanimir Lukanov, Milena Lazarova

Around 35 million Linux and almost 2 billion Android users rely on C++ for everything from the simplest embedded and IoT devices to cloud services, supercomputing, and space exploration. To help you produce high-quality software, two industry experts have transformed their knowledge and experience into practical examples in system programming with C++ Programming for Linux Systems.In this book, you'll explore the latest C++20 features, while working on multiple specific use cases. You’ll get familiar with the coroutines and modern approaches in concurrent and multithreaded programming. You'll also learn to reshape your thinking when analyzing system behavior in Linux (POSIX) environments. Additionally, you'll discover advanced discussions and novel solutions for complex challenges, while approaching trivial system operations with a new outlook and learning to choose the best design for your particular case.You can use this workbook as an introduction to system programming and software design in Linux or any Unix-based environment. You’ll also find it useful as a guideline or a supplement to any C++ book.By the end of this book, you’ll have gained advanced knowledge and skills for working with Linux or any Unix-based environment.

47
Ebook

C++. Projektowanie oprogramowania. Zasady i wzorce projektowe

Klaus Iglberger

Większość dobrych książek o C++ koncentruje się na cechach tego języka, niuansach działania czy też szczegółach i specyfice implementacji. Tymczasem o jakości oprogramowania decyduje jego projekt. To właśnie dzięki projektowi można tworzyć oprogramowanie, które będzie łatwe do utrzymania, modyfikowania, rozszerzania i testowania. Problem polega na tym, że projektowanie oprogramowania jest trudnym i wymagającym zadaniem. Ta książka jest doskonałym uzupełnieniem podręcznej biblioteczki każdego programisty C++. Opisano w niej znaczenie dobrego projektu oprogramowania oraz zasady tworzenia takich projektów. Omówiono szereg przydatnych wzorców projektowych, dzięki którym łatwiej można zrozumieć, jak zarządzać zależnościami i abstrakcjami, zwiększać możliwości modyfikowania i rozszerzania tworzonego kodu oraz stosować nowoczesne wzorce projektowe. Zaprezentowano wzorce wykorzystujące wiele różnych paradygmatów, w tym programowanie: obiektowe, uogólnione oraz funkcyjne. Pokazano też największą zaletę nowoczesnego języka C++: możliwość łączenia różnych paradygmatów oraz tworzenia oprogramowania, które przetrwa dziesięciolecia. W tej książce między innymi: ocena kodu pod kątem projektowania oprogramowania sposoby realizacji takich celów projektowych jak np. łatwość modyfikowania i rozszerzania kodu zalety i wady różnych koncepcji projektowania przydatność wzorców projektowych w rozwiązywaniu problemów zasady wyboru form wzorców projektowych Z tej książki nauczyłem się znacznie więcej, niż mógłbym oczekiwać. Mark Summerfield, właściciel Qtrac Ltd. Bez dobrego projektu nie będzie dobrej aplikacji!

48
Ebook

C++ Reactive Programming. Design concurrent and asynchronous applications using the RxCpp library and Modern C++17

Praseed Pai, Peter Abraham

Reactive programming is an effective way to build highly responsive applications with an easy-to-maintain code base. This book covers the essential functional reactive concepts that will help you build highly concurrent, event-driven, and asynchronous applications in a simpler and less error-prone way.C++ Reactive Programming begins with a discussion on how event processing was undertaken by different programming systems earlier. After a brisk introduction to modern C++ (C++17), you’ll be taken through language-level concurrency and the lock-free programming model to set the stage for our foray into the Functional Programming model. Following this, you’ll be introduced to RxCpp and its programming model. You’ll be able to gain deep insights into the RxCpp library, which facilitates reactive programming. You’ll learn how to deal with reactive programming using Qt/C++ (for the desktop) and C++ microservices for the Web.By the end of the book, you will be well versed with advanced reactive programming concepts in modern C++ (C++17).