- Table View
- List View
C++ Reactive Programming: Design concurrent and asynchronous applications using the RxCpp library and Modern C++17
by Praseed Pai Peter AbrahamLearn how to implement the reactive programming paradigm with C++ and build asynchronous and concurrent applicationsKey Features Efficiently exploit concurrency and parallelism in your programs Use the Functional Reactive programming model to structure programs Understand reactive GUI programming to make your own applications using QtBook DescriptionReactive 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).What you will learnUnderstand language-level concurrency in C++Explore advanced C++ programming for the FRPUncover the RxCpp library and its programming modelMix the FP and OOP constructs in C++ 17 to write well-structured programsMaster reactive microservices in C++Create custom operators for RxCppLearn advanced stream processing and error handlingWho this book is forIf you’re a C++ developer interested in using reactive programming to build asynchronous and concurrent applications, you’ll find this book extremely useful. This book doesn’t assume any previous knowledge of reactive programming.
C++ Recipes: A Problem-Solution Approach
by Bruce SutherlandIn this handy reference, you'll find numbers, strings, dates, times, classes, exceptions, streams, flows, pointers and more. Also, you'll see various code samples, templates for C++ algorithms, parallel processing, multithreading and numerical processes. These have many applications including game development, big data analytics, financial engineering and analysis, enterprise applications and more. A wealth of STL templates on function objects, adapters, allocators, and extensions are also available. C++ Recipes: A Problem-Solution Approach is a handy code cookbook reference guide that cover the latest C++ 14 as well as some of the code templates available in the latest Standard Template Library (STL). This is a "must have", contemporary reference for your technical library. What you'll learn How to handle numbers, strings, text, dates and times, and data in general How to implement a variety of C++ algorithms How to handle and use classes, exceptions, streams and flows How to build parallel processing C++ templates How to code for pointers How to leverage the wealth of C++ templates found in the STL, including function objects, adapters, allocators and more How to extend the STL and more Who this book is for This book is for those with at least some experience with C++ and certainly experience with programming in general. Table of Contents 1. Beginning C++ 2. Modern C++ 3. Working with Text 4. Working with Numbers 5. Classes 6. Inheritance 7. The STL Containers 8. The STL Algorithms 9. Templates 10. Memory 11. Concurrency 12. Networking 13. Scripting 14. 3D Graphics Programming
C++ Software Design: Design Principles and Patterns for High-Quality Software
by Klaus IglbergerGood software design is essential for the success of your project, but designing software is hard to do. You need to have a deep understanding of the consequences of design decisions and a good overview of available design alternatives. With this book, experienced C++ developers will get a thorough, practical, and unparalleled overview of software design with this modern language.C++ trainer and consultant Klaus Iglberger explains how you can manage dependencies and abstractions, improve changeability and extensibility of software entities, and apply and implement modern design patterns to help you take advantage of today's possibilities. Software design is the most essential aspect of a software project because it impacts the software's most important properties: maintainability, changeability, and extensibility.Learn how to evaluate your code with respect to software designUnderstand what software design is, including design goals such as changeability and extensibilityExplore the advantages and disadvantages of each design approachLearn how design patterns help solve problems and express intentChoose the right form of a design pattern to get the most out of its advantages
C++ Software Interoperability for Windows Programmers: Connecting to C#, R, and Python Clients
by Adam GladstoneGet up-to-speed quickly and connect modern code written in C#, R, and Python to an existing codebase written in C++. This book for practitioners is about software interoperability in a Windows environment from C++ to languages such as C#, R, and Python. Using a series of example projects, the book demonstrates how to connect a simple C++ codebase packaged as a static or dynamic library to modern clients written in C#, R, and Python. The book shows you how to develop the in-between components that allow disparate languages to communicate. This book addresses a fundamental question in software design: given an existing C++ codebase, how does one go about connecting that codebase to clients written in C#, R, and Python? How is the C++ functionality exposed to these clients? One answer may be to rewrite the existing codebase in the target language. This is rarely, if ever, feasible and this book’s goal is to save you the pain and the high cost of throwing out valuable existing code by showing you how to make that older code function alongside and with the more modern languages that are commonly in use today. The knowledge you will gain from reading this book will help you broaden your architectural choices and take advantage of the growing amount of talent around newer languages.What You Will LearnBuild components that connect C++ to other languagesTranslate between the C++ type system and the type systems of C#, R, and PythonWrite a managed assembly targeting the .NET frameworkCreate C++ packages for use in R/StudioDevelop Python modules based on high-performance C++ codeOvercome the difficulties and pitfalls involved in cross-language developmentWho This Book Is ForSoftware developers who are looking for ways to extend existing systems written in C++ using modern languages. Readers should have some programming experience, particularly in C++. Readers should also be familiar with common development tools such as Visual Studio, R/Studio, Visual Studio Code, and CodeBlocks.
C++ Standard Library Quick Reference
by Marc Gregoire Peter WeertThis quick reference is a condensed reference guide to the essential data structures, algorithms, and functions provided by the C++ Standard Library. More specifically, this is a compact collection of essential classes and functions, used by C++ programmers on a daily basis. The C++ Standard Library Quick Reference features core classes for strings, I/O streams, and various generic containers, as well as a comprehensive set of algorithms to manipulate them. In recent years, the C++11 and C++14 standards have added even more efficient container classes, a new powerful regular expression library, and a portable multithreading library featuring threads, mutexes, condition variables, and atomic variables. Needless to say, it is hard to know and remember all the possibilities, details, and intricacies of this vast and growing library. This handy reference guide is therefore indispensable to any C++ programmer. It offers a condensed, well-structured summary of all essential aspects of the C++ Standard Library, including all aforementioned functionality. No page-long, repetitive examples or obscure, rarely used features. Instead, everything you need to know and watch out for in practice is outlined in a compact, to-the-point style, interspersed with well-chosen, clarifying examples. The book does not explain the C++ language or syntax, but is accessible to anyone with basic C++ knowledge. Even the most experienced C++ programmer though will learn a thing or two from it and find it a useful memory-aid. What you'll learn The essentials of the C++ Standard Library How to use containers to efficiently store and retrieve your data How to use algorithms to inspect and manipulate your data How lambda expressions allow for elegant use of algorithms What the standard string class provides and how to use it What functionality the library provides for file and stream-based I/O What smart pointers are and how to use them to prevent memory leaks How to write safe and efficient multi-threaded code using the C++11 threading libraries Who this book is for The book is targeted at all C++ programmers: irrespective of their proficiency with the language or the Standard Library, this book offers an indispensable reference and memory-aid. A secondary audience is developers who are new to C++, but not new to programming, and who want to learn more on the C++ Standard Library in a quick, condensed manner.
C++ System Programming Cookbook: Practical recipes for Linux system-level programming using the latest C++ features
by Onorato VaticoneA problem-solution-based guide to help you overcome hurdles effectively while working with kernel APIs, filesystems, networks, threads, and process communications Key Features Learn to apply the latest C++ features (from C++11, 14, 17, and 20) to facilitate systems programming Create robust and concurrent systems that make the most of the available hardware resources Delve into C++ inbuilt libraries and frameworks to design robust systems as per your business needs Book Description C++ is the preferred language for system programming due to its efficient low-level computation, data abstraction, and object-oriented features. System programming is about designing and writing computer programs that interact closely with the underlying operating system and allow computer hardware to interface with the programmer and the user. The C++ System Programming Cookbook will serve as a reference for developers who want to have ready-to-use solutions for the essential aspects of system programming using the latest C++ standards wherever possible. This C++ book starts out by giving you an overview of system programming and refreshing your C++ knowledge. Moving ahead, you will learn how to deal with threads and processes, before going on to discover recipes for how to manage memory. The concluding chapters will then help you understand how processes communicate and how to interact with the console (console I/O). Finally, you will learn how to deal with time interfaces, signals, and CPU scheduling. By the end of the book, you will become adept at developing robust systems applications using C++. What you will learn Get up to speed with the fundamentals including makefile, man pages, compilation, and linking and debugging Understand how to deal with time interfaces, signals, and CPU scheduling Develop your knowledge of memory management Use processes and threads for advanced synchronizations (mutexes and condition variables) Understand interprocess communications (IPC): pipes, FIFOs, message queues, shared memory, and TCP and UDP Discover how to interact with the console (console I/O) Who this book is for This book is for C++ developers who want to gain practical knowledge of systems programming. Though no experience of Linux system programming is assumed, intermediate knowledge of C++ is necessary.
C++ Template Metaprogramming in Practice: A Deep Learning Framework
by Li WeiUsing the implementation of a deep learning framework as an example, C++ Template Metaprogramming in Practice: A Deep Learning Framework explains the application of metaprogramming in a relatively large project and emphasizes ways to optimize systems performance. The book is suitable for developers with a basic knowledge of C++. Developers familiar with mainstream deep learning frameworks can also refer to this book to compare the differences between the deep learning framework implemented with metaprogramming and compile-time computing with deep learning frameworks using object-oriented methods. Consisting of eight chapters, the book starts with two chapters discussing basic techniques of metaprogramming and compile-time computing. The rest of the book’s chapters focus on the practical application of metaprogramming in a deep learning framework. It examines rich types and systems, expression templates, and writing complex meta-functions, as well as such topics as: Heterogeneous dictionaries and policy templates An introduction to deep learning Type system and basic data types Operations and expression templates Basic layers Composite and recurrent layers Evaluation and its optimization Metaprogramming can construct flexible and efficient code. For C++ developers who are familiar with object-oriented programming, the main difficulty in learning and mastering C++ metaprogramming is establishing the thinking mode of functional programming. The meta-programming approach involved at compile time is functional, which means that the intermediate results of the construction cannot be changed, and the impact may be greater than expected. This book enables C++ programmers to develop a functional mindset and metaprogramming skills. The book also discusses the development cost and use cost of metaprogramming and provides workarounds for minimizing these costs.
C++ Windows Programming
by Stefan BjornanderDevelop real-world applications in Windows. About This Book * Create diverse applications featuring the versatility of Small Windows C++ library * Learn about object-oriented programming in Windows and how to develop a large object-oriented class library in C++ * Understand how to tackle application-specific problems along with acquiring a deep understanding of the workings of Windows architecture Who This Book Is For This book is for application developers who want a head-first approach into Windows programming. It will teach you how to develop an object-oriented class library in C++ and enhanced applications in Windows. Basic knowledge of C++ and the object-oriented framework is assumed to get the most out of this book. What You Will Learn * Develop advanced real-world applications in Windows * Design and implement a graphical object-oriented class library in C++ * Get to grips with the workings of the integral aspects of the Win32 API, such as mouse input, drawing, cut-and-paste, file handling, and drop files * Identify general problems when developing graphical applications as well as specific problems regarding drawing, spreadsheet, and word processing applications * Implement classes, functions, and macros of the object-oriented class library developed in the book and how we implement its functionality by calling functions and macros in the Win32 API In Detail It is critical that modern developers have the right tools to build practical, user-friendly, and efficient applications in order to compete in today's market. Through hands-on guidance, this book illustrates and demonstrates C++ best practices and the Small Windows object-oriented class library to ease your development of interactive Windows applications. Begin with a focus on high level application development using Small Windows. Learn how to build four real-world applications which focus on the general problems faced when developing graphical applications. Get essential troubleshooting guidance on drawing, spreadsheet, and word processing applications. Finally finish up with a deep dive into the workings of the Small Windows class library, which will give you all the insights you need to build your own object-oriented class library in C++. Style and approach This book takes a tutorial-style approach that will demonstrate the features of a C++ object-oriented library by developing interactive Windows applications.
C++ Without Fear: A Beginner's Guide That Makes You Feel Smart
by Brian OverlandLearning C++ Doesn’t Have to Be Difficult! Have you ever wanted to learn programming? Have you ever wanted to learn the C++ language behind many of today’s hottest games, business programs, and even advanced spacecraft? C++ Without Fear, Third Edition, is the ideal way to get started. Now updated for the newest C++14 standard and the free Microsoft Visual C++ Community Edition, it will quickly make you productive with C++ even if you’ve never written a line of code! Brian Overland has earned rave reviews for this book’s approach to teaching C++. He starts with short, simple examples you can easily enter and run. Within a couple of chapters, you’ll be creating useful utilities, playing games, and solving puzzles. Everything’s simplified to its essentials, patiently explained, and clearly illustrated with practical examples and exercises that help you make progress quickly. Overland reveals the “whys” and “tricks” behind each C++ language feature. And you’ll never get bogged down in complex or pointless examples: He keeps you 100% focused on learning what works and what matters―while having fun! This new and improved edition Covers installing and using the free Microsoft Visual C++ Community Edition― but you can use any version of C++ Explains valuable improvements in the new C++14 standard Modularizes C++14 coverage so it’s easy to write code that works with older versions Teaches with even more puzzles, games, and relevant exercises Offers more “why” and “how-to” coverage of object orientation, today’s #1 approach to programming Presents more ways to use Standard Template Library (STL) code to save time and get more done Contains an expanded reference section for all your day-to-day programming Whether you want to learn C++ programming for pleasure or you’re considering a career in programming, this book is an outstanding choice.
C++ for Engineers and Scientists
by Gary J. BronsonIntroduce the power and practicality of C++ programming to entry-level engineers with Bronson's C++ FOR ENGINEERS AND SCIENTISTS, 4E. This proven, pragmatic text is designed specifically for today's first- and second-year engineering and science students with a wealth of new applications and examples taken from real situations involving electrical and structural engineering, fluid mechanics, mathematics, power generation, and heat transfer challenges. The book starts with a solid foundation in procedural programming before moving into a reorganized, clear presentation of object-oriented concepts. Dynamic case studies, career spotlights and engineering-driven applications showcase the relevance of concepts students are learning to their careers. Helpful tips demonstrate how to avoid common C++ programming errors, while updates ensure that students are learning the most recent C++ code standards.
C++ for Lazy Programmers: Quick, Easy, and Fun C++ for Beginners
by Will BriggsLearn C++ the quick, easy, and “lazy” way. This book is an introductory programming text that uses humor and fun to make you actually willing to read, and eager to do the projects -- with the popular C++ language.C++ for Lazy Programmers is a genuinely fun learning experience that will show you how to create programs in the C++ language. This book helps you learn the C++ language with a unique method that goes beyond syntax and how-to manuals and helps you understand how to be a productive programmer. It provides detailed help with both the Visual Studio and g++ compilers plus their debuggers, and includes the latest version of the language, C++17, too. Along the way you’ll work through a number of labs: projects intended to stretch your abilities, test your new skills, and build confidence. You'll go beyond the basics of the language and learn how build a fun C++ arcade game project. After reading and using this book, you’ll be ready for your first real-world C++ application or game project on your own. What You Will LearnProgram for the first time in C++ in a fun, quick and easy mannerDiscover the SDL graphics and gaming libraryWork with SSDL, the Simple SDLwrapper libraryUse the most common C++ compilers: Visual Studio, and g++ (with Unix or MinGW)Practice “anti-bugging” for easy fixes to common problems Work with the debuggerAcquire examples-driven concepts and ideas Build a C++-based arcade game application Apply built-in Standard Template Library (STL) functions and classes for easy and efficient programmingDip your toe in C, C++'s ancestor, still extensively used in industryUse new C++11/14/17 features including lambda functions, constexpr, and smart pointersWho This Book Is ForThose who are new to C++, either as a guide for self-learners or as an accessible textbook for students in college-level courses.
C++ for Mathematicians: An Introduction for Students and Professionals
by Edward ScheinermanFor problems that require extensive computation, a C++ program can race through billions of examples faster than most other computing choices. C++ enables mathematicians of virtually any discipline to create programs to meet their needs quickly, and is available on most computer systems at no cost. C++ for Mathematicians: An Introduction for Students and Professionals accentuates C++ concepts that are most valuable for pure and applied mathematical research.This is the first book available on C++ programming that is written specifically for a mathematical audience; it omits the language’s more obscure features in favor of the aspects of greatest utility for mathematical work. The author explains how to use C++ to formulate conjectures, create images and diagrams, verify proofs, build mathematical structures, and explore myriad examples. Emphasizing the essential role of practice as part of the learning process, the book is ideally designed for undergraduate coursework as well as self-study. Each chapter provides many problems and solutions which complement the text and enable you to learn quickly how to apply them to your own problems. Accompanying downloadable resources provide all numbered programs so that readers can easily use or adapt the code as needed. Presenting clear explanations and examples from the world of mathematics that develop concepts from the ground up, C++ for Mathematicians can be used again and again as a resource for applying C++ to problems that range from the basic to the complex.
C++ für Dummies (Für Dummies)
by Arnold V. WillemerDie Programmierung mit C++ muss nicht schwer sein. Mit diesem Buch werden Sie schon ab dem ersten Kapitel eigene Programme schreiben und die C++-Syntax von der Pike auf lernen, verstehen und anwenden. Arnold Willemer erklärt Ihnen, wie Sie Code zu Modulen zusammenfassen, die Sie immer wieder verwenden können, und schon bald werden Sie wissen, wie man Variablen deklariert und mathematische Operationen ausführt. So ist dies das richtige Buch für Ihren Einstieg in C++.
C++ für Dummies (Für Dummies)
by Stephen R. DavisVon Array bis Zeiger – lernen Sie alles zur Programmierung mit C++ Die Programmierung mit C++ muss nicht schwer sein. Mit diesem Buch werden Sie die C++-Syntax von der Pike auf lernen, verstehen und anwenden und schon ab dem ersten Kapitel eigene Programme schreiben. Stephen Randy Davis zeigt Ihnen unter anderem, wie Sie Variablen verwenden, logische Operationen ausführen, den Programmablauf steuern und Sequenzen in Arrays speichern. Außerdem erfahren Sie, wie Sie Code zu Modulen zusammenfassen, die Sie immer wieder verwenden können, und wie man Klassen erbt und faktorisiert, sodass Sie bald fließend C++ sprechen.
C++ programmieren lernen für Dummies (Für Dummies)
by Stephen R. DavisStephen R. Davis fängt von vorn an: Wie arbeitet ein Programm? Wie installiert man die Programmierumgebung und den Compiler? Und was ist das überhaupt? Als nächstes lernen Sie grundlegende Programmiertechniken kennen: Variablendeklaration, Schleifen, Funktionen und anderes mehr. Fünf Kapitel widmen sich den unterschiedlichen Variablentypen, sodass Sie für die berühmten C++-Zeiger gut gerüstet sind. War gar nicht schwer? Es folgt eine Einführung in das objektorientierte Programmieren, und bevor Sie es sich versehen, liegen auch die Vererbung von Klassen, das Überladen von Operatoren und der Ausnahmemechanismus in Ihrer Reichweite. Mit den Programmbeispielen zum Herunterladen können Sie das Gelernte direkt ausprobieren.
C++-Metaprogrammierung: Eine Einführung in die Präprozessor- und Template-Metaprogrammierung (Xpert.press)
by Jürgen LemkeDieses Buch ist das erste deutschsprachige Fachbuch zur C++-Metaprogrammierung. Es hilft dem C++ Programmierer, die Metaprogrammierung zu verstehen und die Vorteile f#65533;r den t#65533;glichen Gebrauch zu erkennen. Durch die umfangreiche Darstellung der Grundlagen der Pr#65533;prozessor- und Template-Metaprogrammierung bietet das Buch einen strukturierten Einstieg, f#65533;r den Grundkenntnisse in C++ ausreichend sind. Die Anwendung der Metaprogrammierung und ihr Zusammenspiel mit Softwaresystemen werden an vielen Beispielen ausf#65533;hrlich erl#65533;utert. Die Generierung der Modulschnittstellen wird hierbeierstmalig beschrieben. Es wird in den Beispielen der Metaprogrammierung sowohl auf den Standard C++11 als auch auf die . NET-Erweiterung C++/CLI eingegangen.
C++/CLI Primer: For .NET Development
by Vivek RagunathanEnter a world of hardcore back-end, server-side enterprise programming on the . NET platform. This book presents some of the important aspects of the C++/CLI language that often become a barrier preventing programmers from exploring further. The C++/CLI Primer is a powerful but compact book that will guide you through that barrier. Many of today's complex transactions and enterprise applications count on C++/CLI. Visual Studio 2015 and earlier versions support C++/CLI if you program using an IDE. C++/CLI is unattractive, clumsy, and hard when compared to other modern languages that run on the . NET platform. That's because it is powerful. Like light that can be viewed as a wave or particle, C++/CLI can be exercised as an unmanaged or managed or actually as the sandwich language to do mixed mode programming, which is its real power. That's also why it is unique. What You'll Learn Discover C++/CLI and why is it used in . NET programming Work with types, primitive types, object creation, and managed and abstract classes Use abstract classes in C++/CLI Harness the power of nullptre Implement code that uses boxing/unboxing Use equality/identity, properties, enums, strings, arrays, and more Who This Book Is For Experienced Microsoft . NET application developers, familiar with . NET framework and C++.
C++17 By Example: Practical projects to get you up and running with C++17
by Stefan BjörnanderDiscover the impressive capabilities of C++ and learn the skills you need to implement it in real life Key Features Leverage the power of C++ language constructs to build effective software Learn about file handling and pointers Build visually appealing GUI by using the power of Qt5 Get a deeper understanding of how to program C++ for a specific purpose by implementing a Domain Specific Language Book Description C++ is a general-purpose programming language built with a bias towards embedded programming and systems programming. Over the years, C++ has evolved and is used to develop software for many different sectors. Given its versatility and robustness, C++is a wonderful language to start your coding journey with. This book covers exciting projects built in C++ that show how to implement the language in different scenarios. While developing these projects, you will not only learn the language constructs but also how you can use C++ to meet your software requirements. The book starts with a brief introduction to C++ language constructs where you will learn essential concepts that are required to understand the projects covered in the book. The first module will build a library management system that will teach you how to perform efficient file handling and use pointers in your software. To give you a taste of GUI programming, the next module will build graphical applications using Qt 5. You will then be introduced to game design in C++ and build two interesting games. The final module will teach you how C++ can be used to create a Domain Specific Language. After reading this book, you will have mastered core programming concepts in C++, and how to implement them effectively. What you will learn Create object-oriented hierarchies and how to compile, link, and execute a simple program Implement classes with linked lists, templates, inheritance, operator overloading, and exception handling Efficient file handling and pointer structures Dynamic allocation and deallocation along with marshmallowing Qt features, including menus, toolbars, caret handling, and more Implement a Domain Specific Language in C++ Who this book is for This book is for developers who would like to develop software in C++. Basic programming experience would be an added advantage.
C++17 Quick Syntax Reference: A Pocket Guide To The Language, Apis And Library
by Mikael OlssonThis quick C++17 guide is a condensed code and syntax reference to the popular programming language, fully updated for C++17. It presents the essential C++ syntax in a well-organized format that can be used as a handy reference.In the C++17 Quick Syntax Reference, you will find short, simple, and focused code examples. This book includes a well laid out table of contents and a comprehensive index allowing for easy review. You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What you will find is a language reference that is concise, to the point and highly accessible. The book is packed with useful information and is a must-have for any C++ programmer.What You'll LearnUse template argument deduction for class templatesDeclare non-type template parameters with auto-folding expressions and auto deduction from braced-init-listApply lambdas and lambda capture by valueWork with inline variables, nested namespaces, structured bindings, and selection statements with initializerUse utf-8 character literalsCarry out direct-list initialization of enumsUse these new C++17 library features or class templates from std::variant, optional, any, string_view, invoke, apply and moreDo splicing for maps and sets, also new to C++17Who This Book Is ForExperienced C++ programmers. Additionally, this is a concise, easily-digested introduction for other programmers new to C++.
C++17 STL Cookbook
by Jacek GalowiczOver 90 recipes that leverage the powerful features of the Standard Library in C++17 About This Book • Learn the latest features of C++ and how to write better code by using the Standard Library (STL). Reduce the development time for your applications. • Understand the scope and power of STL features to deal with real-world problems. • Compose your own algorithms without forfeiting the simplicity and elegance of the STL way. Who This Book Is For This book is for intermediate-to-advanced C++ programmers who want to get the most out of the Standard Template Library of the newest version of C++: C++ 17. What You Will Learn • Learn about the new core language features and the problems they were intended to solve • Understand the inner workings and requirements of iterators by implementing them • Explore algorithms, functional programming style, and lambda expressions • Leverage the rich, portable, fast, and well-tested set of well-designed algorithms provided in the STL • Work with strings the STL way instead of handcrafting C-style code • Understand standard support classes for concurrency and synchronization, and how to put them to work • Use the filesystem library addition available with the C++17 STL In Detail 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 smarter, fully portable code, then this book is for you. Beginning with new language features, this book will help you understand the language's mechanics and library features, and offers insight into how they work. Unlike other books, ours takes an implementation-specific, problem-solution approach that will help you quickly overcome hurdles. You will learn the core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on practical real-world recipes. These recipes will help you get the most from the STL and show you how to program in a better way. By the end of the book, you will be up to date with the latest C++17 features and save time and effort while solving tasks elegantly using the STL. Style and approach This recipe-based guide will show you how to make the best use of C++ together with the STL to squeeze more out of the standard language
C++17 Standard Library Quick Reference: A Pocket Guide to Data Structures, Algorithms, and Functions
by Marc Gregoire Peter Van WeertThis quick reference is a condensed guide to the essential data structures, algorithms, and functions provided by the C++17 Standard Library. It does not explain the C++ language or syntax, but is accessible to anyone with basic C++ knowledge or programming experience. Even the most experienced C++ programmer will learn a thing or two from it and find it a useful memory-aid. It is hard to remember all the possibilities, details, and intricacies of the vast and growing Standard Library. This handy reference guide is therefore indispensable to any C++ programmer. It offers a condensed, well-structured summary of all essential aspects of the C++ Standard Library. No page-long, repetitive examples or obscure, rarely used features. Instead, everything you need to know and watch out for in practice is outlined in a compact, to-the-point style, interspersed with practical tips and well-chosen, clarifying examples. This new edition is updated to include all Standard Library changes in C++17, including the new vocabulary types std::string_view, any, optional, and variant; parallel algorithms; the file system library; specialized mathematical functions; and more.What You Will LearnGain the essentials that the C++ Standard Library has to offerUse containers to efficiently store and retrieve your dataInspect and manipulate your data with algorithms See how lambda expressions allow for elegant use of algorithmsDiscover what the standard string class provides and how to use itWrite localized applicationsWork with file and stream-based I/OPrevent memory leaks with smart pointersWrite safe and efficient multi-threaded code using the threading librariesWho This Book Is ForAll C++ programmers, irrespective of their proficiency with the language or the Standard Library. A secondary audience is developers who are new to C++, but not new to programming, and who want to learn more about the C++ Standard Library in a quick, condensed manner.
C++20 Quick Syntax Reference: A Pocket Guide to the Language, APIs, and Library
by Mikael OlssonThis quick C++ 20 guide is a condensed code and syntax reference to the popular programming language, fully updated for C++20. It presents the essential C++20 code syntax in a well-organized format that can be used as a handy reference. This edition covers topics including designated initializers, lambdas and lambda captures, the spaceship operator, pack expressions, string literals as template parameters, atomic smart pointers, and contracts. It also covers library changes including extended futures, latches and barriers, task blocks, and text formatting. In the C++20 Quick Syntax Reference, you will find short, simple, and focused code examples. This book includes a well-laid-out table of contents and a comprehensive index allowing for easy review. You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What you will find is a language reference that is concise, to the point, and highly accessible. The book is packed with useful information and is a must-have for any C++ programmer. What You'll LearnDiscover the key C++20 featuresWork with concepts to constrain template argumentsUse modules as a replacement for header filesTake advantage of the three-way comparison operatorCreate immediate functions using the consteval keywordMake use of constexpr, constinit and designated initializers Who This Book Is For Experienced C++ programmers. Additionally, this is a concise, easily-digested introduction for other programmers new to C++.
C++20 Recipes: A Problem-Solution Approach
by Bruce Sutherland J. Burton BrowningDiscover the newest major features of C++20, including modules, concepts, spaceship operators, and smart pointers. This book is a handy code cookbook reference guide that covers the C++ core language standard as well as some of the code templates available in standard template library (STL). In C++20 Recipes: A Problem-Solution Approach, you'll find numbers, strings, dates, times, classes, exceptions, streams, flows, pointers, and more. Also, you'll see various code samples, templates for C++ algorithms, parallel processing, multithreading, and numerical processes. It also includes 3D graphics programming code. A wealth of STL templates on function objects, adapters, allocators, and extensions are also available. This is a must-have, contemporary reference for your technical library to help with just about any project that involves the C++ programming language. What You Will Learn See what's new in C++20 Write modules Work with text, numbers, and classes Use the containers and algorithms available in the standard library Work with templates, memory, concurrency, networking, scripting, and more Code for 3D graphics Who This Book Is For Programmers with at least some prior experience with C++.
C++20 STL Cookbook: Leverage the latest features of the STL to solve real-world problems
by Bill WeinmanProven techniques to improve the efficiency of your programs using the Standard Template Library (STL)Key FeaturesBecome familiar with the latest features of C++20 and write better code using the STLReduce the development time for your applications and enable faster deploymentGet up and running with the new and leaner STL capabilities introduced in the latest releaseBook DescriptionFast, efficient, and flexible, the C++ programming language has come a long way and is used in every area of the industry to solve many problems. The latest version C++20 will see programmers change the way they code as it brings a whole array of features enabling the quick deployment of applications. This book will get you up and running with using the STL in the best way possible.Beginning with new language features in C++20, this book will help you understand the language's mechanics and library features and offer insights into how they work. Unlike other books, the C++20 STL Cookbook takes an implementation-specific, problem-solution approach that will help you overcome hurdles quickly. You'll learn core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on real-world recipes. This book is a reference guide for using the C++ STL with its latest capabilities and exploring the cutting-edge features in functional programming and lambda expressions.By the end of the book C++20 book, you'll be able to leverage the latest C++ features and save time and effort while solving tasks elegantly using the STL.What you will learnUnderstand the new language features and the problems they can solveImplement generic features of the STL with practical examplesUnderstand standard support classes for concurrency and synchronizationPerform efficient memory management using the STLImplement seamless formatting using std::formatWork with strings the STL way instead of handcrafting C-style codeWho this book is forThis book is for intermediate to advanced C++ programmers who want to get the most out of the Standard Template Library of C++20, the newest version of C++. Basic knowledge of coding and C++ concepts is necessary to get started with this book.
C++20 for Lazy Programmers: Quick, Easy, and Fun C++ for Beginners
by Will BriggsReady to learn programming with less effort and more fun? Then do it the lazy way! C++20 for Lazy Programmers uses humor and fun to make you actually willing to read and eager to do the projects as you master the popular and powerful C++ language. Along the way it includes many features from the new C++20 standard, such as ranges, spans, format strings, the “spaceship” operator, and concepts (template parameter requirements), and provides brief introductions to modules and coroutines.With this unique method, you’ll stretch your abilities with a variety of projects, including your own C++ arcade game. You'll construct your own classes, templates, and abstract data types. After reading and using this book you’ll be ready to build real-world C++ applications and game projects on your own.What You Will Learn:The brand-new C++20 standardProgramming graphics and games with the SDL library, using SSDL, the "Simple SDL" wrapper libraryHow to use the most common C++ compilers -- Visual Studio for Windows, and g++ (with Unix or MinGW) -- and their associated debuggers“Anti-bugging” for easy fixes to common problems Sound practices for becoming a productive programmerHow to make your own big projects, including a C++-based arcade game The built-in Standard Template Library (STL) functions and classes for easy and efficient programmingPowerful data types including strings, stacks, vectors, and linked lists -- not by reading about them but by building them -- preparing you further for a career in programmingWho This Book Is ForAll who are new to C++, either self-learners or students in college-level courses.