My Account Log in

3 options

Modern C++ programming cookbook : over 100 recipes to help you overcome your difficulties with C++ programming and gain a deeper understanding of the working of modern C++ / Marius Bancila.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Bancila, Marius, author.
Language:
English
Subjects (All):
C++ (Computer program language).
C++ (Computer program language)--Handbooks, manuals, etc.
Computer programming.
Physical Description:
1 online resource (559 pages) : illustrations
Edition:
1st edition
Other Title:
Modern C plus plus programming cookbook
Place of Publication:
Birmingham, England ; Mumbai, [India] : Packt, 2017.
System Details:
text file
Biography/History:
Bancila Marius: Marius Bancila is a software engineer with two decades of experience in developing solutions for line of business applications and more. He is the author of The Modern C++ Challenge and Template Metaprogramming with C++. He works as a software architect and is focused on Microsoft technologies, mainly developing desktop applications with C++ and C#. He is passionate about sharing his technical expertise with others and, for that reason, he has been recognized as a Microsoft MVP for C++ and later developer technologies since 2006. Marius lives in Romania and is active in various online communities.
Summary:
Over 100 recipes to help you overcome your difficulties with C++ programming and gain a deeper understanding of the working of modern C++ About This Book Explore the most important language and library features of C++17, including containers, algorithms, regular expressions, threads, and more, Get going with unit testing frameworks Boost.Test, Google Test and Catch, Extend your C++ knowledge and take your development skills to new heights by making your applications fast, robust, and scalable. Who This Book Is For If you want to overcome difficult phases of development with C++ and leverage its features using modern programming practices, then this book is for you. The book is designed for both experienced C++ programmers as well as people with strong knowledge of OOP concepts. What You Will Learn Get to know about the new core language features and the problems they were intended to solve Understand the standard support for threading and concurrency and know how to put them on work for daily basic tasks Leverage C++'s features to get increased robustness and performance Explore the widely-used testing frameworks for C++ and implement various useful patterns and idioms Work with various types of strings and look at the various aspects of compilation Explore functions and callable objects with a focus on modern features Leverage the standard library and work with containers, algorithms, and iterators Use regular expressions for find and replace string operations Take advantage of the new filesystem library to work with files and directories Use the new utility additions to the standard library to solve common problems developers encounter including string_view, any , optional and variant types In Detail C++ is one of the most widely used programming languages. Fast, efficient, and flexible, it is used to solve many problems. The latest versions of C++ have seen programmers change the way they code, giving up on the old-fashioned C-style programming and adopting modern C++ instead. Beginning with the modern language features, each recipe addresses a specific problem, with a discussion that explains the solution and offers insight into how it works. You will learn major concepts about the core programming language as well as common tasks faced while building a wide variety of software. You will learn about concepts such as concurrency, performance, meta-programming, lambda expressions, regular expressions, testing, and many more in the form of re...
Contents:
Cover
Copyright
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Learning Modern Core Language Features
Introduction
Using auto whenever possible
How to do it...
How it works...
See also
Creating type aliases and alias templates
Understanding uniform initialization
Getting ready
There's more
Understanding the various forms of non-static member initialization
Controlling and querying object alignment
Using scoped enumerations
Using override and final for virtual methods
Using range-based for loops to iterate on a range
Enabling range-based for loops for custom types
Using explicit constructors and conversion operators to avoid implicit conversion
Using unnamed namespaces instead of static globals
Using inline namespaces for symbol versioning
Using structured bindings to handle multi-return values
Chapter 2: Working with Numbers and Strings
Converting between numeric and string types
Limits and other properties of numeric types
Getting ready.
How to do it...
Generating pseudo-random numbers
Initializing all bits of internal state of a pseudo-random number generator
Creating cooked user-defined literals
There's more...
Creating raw user-defined literals
Using raw string literals to avoid escaping characters
Creating a library of string helpers
Verifying the format of a string using regular expressions
Parsing the content of a string using regular expressions
Replacing the content of a string using regular expressions
Using string_view instead of constant string references
Chapter 3: Exploring Functions
Defaulted and deleted functions
Getting started
Using lambdas with standard algorithms
Using generic lambdas
Writing a recursive lambda
Writing a function template with a variable number of arguments
See also.
Using fold expressions to simplify variadic function templates
Implementing higher-order functions map and fold
Composing functions into a higher-order function
Uniformly invoking anything callable
Chapter 4: Preprocessor and Compilation
Conditionally compiling your source code
Using the indirection pattern for preprocessor stringification and concatenation
Performing compile-time assertion checks with static_assert
Conditionally compiling classes and functions with enable_if
Selecting branches at compile time with constexpr if
Providing metadata to the compiler with attributes
Chapter 5: Standard Library Containers, Algorithms, and Iterators
Using vector as a default container
Using bitset for fixed-size sequences of bits
Using vector&lt
bool&gt
for variable-size sequences of bits
Getting ready...
Finding elements in a range.
Getting ready
Sorting a range
Initializing a range
Using set operations on a range
Using iterators to insert new elements in a container
Writing your own random access iterator
Container access with non-member functions
Chapter 6: General Purpose Utilities
Expressing time intervals with chrono::duration
Measuring function execution time with a standard clock
Generating hash values for custom types
Using std::any to store any value
Using std::optional to store optional values
Using std::variant as a type-safe union
Visiting a std::variant
Registering a function to be called when a program exits normally
Using type traits to query properties of types
How to do it.
How it works...
Writing your own type traits
Using std::conditional to choose between types
Chapter 7: Working with Files and Streams
Reading and writing raw data from/to binary files
Reading and writing objects from/to binary files
Using localized settings for streams
Using I/O manipulators to control the output of a stream
Using monetary I/O manipulators
Using time I/O manipulators
Working with filesystem paths
Creating, copying, and deleting files and directories
Removing content from a file
Checking the properties of an existing file or directory
Enumerating the content of a directory
Finding a file
Chapter 8: Leveraging Threading and Concurrency
Working with threads
Handling exceptions from thread functions.
Getting ready.
Notes:
Includes bibliographical references and index.
Description based on online resource; title from PDF title page (ebrary, viewed June 8, 2017).
ISBN:
9781786464736
178646473X
OCLC:
990784723

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account