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
SHOW MORE
FREE ACCESS

YOU MIGHT ALSO LIKE

PEOPLE WHO VIEWED THIS ALSO VIEWED THESE

Rating 4.2 of 111 users Rating 4.2 of 111 users (111)
Rating 4.8 of 10 users Rating 4.8 of 10 users (10)