Exploring C++20: The Programmer's Introduction to C++, Third Edition
- 11h 18m
- Ray Lischner
- Apress
- 2020
Discover everything you need to know about C++ in a logical progression of small lessons that you can work through as quickly or as slowly as you need. This book divides C++ up into bite-sized chunks that will help you learn the language one step at a time. Fully updated to include C++20, it assumes no familiarity with C++ or any other C-based language.
Exploring C++20 acknowledges that C++ can be a complicated language, so rather than baffle you with complex chapters explaining functions, classes, and statements in isolation you’ll focus on how to achieve results. By learning a little bit of this and a little of that you’ll soon have amassed enough knowledge to be writing non-trivial programs and will have built a solid foundation of experience that puts those previously baffling concepts into context.
In this fully-revised third edition of Exploring C++, you’ll learn how to use the standard library early in the book. Next, you’ll work with operators, objects, and data-sources in increasingly realistic situations. Finally, you’ll start putting the pieces together to create sophisticated programs of your own design confident that you’ve built a firm base of experience from which to grow.
What You Will Learn
- Grasp the basics, including compound statements, modules, and more
- Work with custom types and see how to use them
- Write useful algorithms, functions, and more
- Discover the latest C++ 20 features, including concepts, modules, and ranges
- Apply your skills to projects that include a fixed-point numbers and body-mass index applications
- Carry out generic programming and apply it in a practical project
- Exploit multiple inheritance, traits/policies, overloaded functions, and metaprogramming
Who This Book Is For
Experienced programmers who may have little or no experience with C++ who want an accelerated learning guide to C++20 so they can hit the ground running.
About the Author
Ray Lischner has a bachelor's degree in computer science from Caltech and a master's in computer science from Oregon State University. He worked as a software developer for a dozen years, at big and small companies across the US, using PL/I, C, C++, Delphi, Smalltalk, and various assembly languages on both large and small systems. He has been self-employed as a consultant, trainer, and author for the last ten years. Ray taught computer science at Oregon State University for several years and specialized in teaching introductory computer programming. He taught courses in C and C++ and software engineering.
In this Book
-
Honing Your Tools
-
Reading C++ Code
-
Integer Expressions
-
Strings
-
Simple Input
-
Error Messages
-
More Loops
-
Formatted Output
-
Arrays and Vectors
-
Algorithms and Ranges
-
Increment and Decrement
-
Conditions and Logic
-
Compound Statements
-
Introduction to File I/O
-
The Map Data Structure
-
Type Synonyms
-
Characters
-
Character Categories
-
Case-Folding
-
Writing Functions
-
Function Arguments
-
Using Ranges
-
Using Iterators
-
Unnamed Functions
-
Overloading Function Names
-
Big and Little Numbers
-
Very Big and Very Little Numbers
-
Documentation
-
Project 1: Body Mass Index
-
Custom Types
-
Overloading Operators
-
Custom I/O Operators
-
Assignment and Initialization
-
Writing Classes
-
More About Member Functions
-
Access Levels
-
Understanding Object-Oriented Programming
-
Inheritance
-
Virtual Functions
-
Classes and Types
-
Declarations and Definitions
-
Modules
-
Old-Fashioned “Modules”
-
Function Objects
-
Useful Algorithms
-
More About Iterators
-
Ranges, Views, and Adaptors
-
Exceptions
-
More Operators
-
Project 2: Fixed-Point Numbers
-
Function Templates
-
Class Templates
-
Template Specialization
-
Partial Template Specialization
-
Template Constraints
-
Names and Namespaces
-
Containers
-
Locales and Facets
-
International Characters
-
Text I/O
-
Project 3: Currency Type
-
Pointers
-
Regular Expressions
-
Moving Data with Rvalue References
-
Smart Pointers
-
Files and File Names
-
Working with Bits
-
Enumerations
-
Multiple Inheritance
-
Concepts, Traits, and Policies
-
Names, Namespaces, and Templates
-
Overloaded Functions and Operators
-
Programming at Compile Time
-
Project 4: Calculator