Book description
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.
Table of contents
- Cover
- Front Matter
-
Part I. The Basics
- 1. Honing Your Tools
- 2. Reading C++ Code
- 3. Integer Expressions
- 4. Strings
- 5. Simple Input
- 6. Error Messages
- 7. More Loops
- 8. Formatted Output
- 9. Arrays and Vectors
- 10. Algorithms and Ranges
- 11. Increment and Decrement
- 12. Conditions and Logic
- 13. Compound Statements
- 14. Introduction to File I/O
- 15. The Map Data Structure
- 16. Type Synonyms
- 17. Characters
- 18. Character Categories
- 19. Case-Folding
- 20. Writing Functions
- 21. Function Arguments
- 22. Using Ranges
- 23. Using Iterators
- 24. Unnamed Functions
- 25. Overloading Function Names
- 26. Big and Little Numbers
- 27. Very Big and Very Little Numbers
- 28. Documentation
- 29. Project 1: Body Mass Index
-
Part II. Custom Types
- 30. Custom Types
- 31. Overloading Operators
- 32. Custom I/O Operators
- 33. Assignment and Initialization
- 34. Writing Classes
- 35. More About Member Functions
- 36. Access Levels
- 37. Understanding Object-Oriented Programming
- 38. Inheritance
- 39. Virtual Functions
- 40. Classes and Types
- 41. Declarations and Definitions
- 42. Modules
- 43. Old-Fashioned “Modules”
- 44. Function Objects
- 45. Useful Algorithms
- 46. More About Iterators
- 47. Ranges, Views, and Adaptors
- 48. Exceptions
- 49. More Operators
- 50. Project 2: Fixed-Point Numbers
- Part III. Generic Programming
-
Part IV. Real Programming
- 62. Pointers
- 63. Regular Expressions
- 64. Moving Data with Rvalue References
- 65. Smart Pointers
- 66. Files and File Names
- 67. Working with Bits
- 68. Enumerations
- 69. Multiple Inheritance
- 70. Concepts, Traits, and Policies
- 71. Names, Namespaces, and Templates
- 72. Overloaded Functions and Operators
- 73. Programming at Compile Time
- 74. Project 4: Calculator
- Back Matter
Product information
- Title: Exploring C++20: The Programmer's Introduction to C++
- Author(s):
- Release date: August 2020
- Publisher(s): Apress
- ISBN: 9781484259610
You might also like
book
Hands-On System Programming with C++
A hands-on guide to making system programming with C++ easy Key Features Write system-level code leveraging …
video
Multi-Paradigm Programming with Modern C++
C++ is a multi-paradigm language that lets you solve a problem in different ways, and this …
book
Discovering Modern C++, 2nd Edition
Write Powerful, Modern C++ Code for Scientific, Engineering, and Embedded Applications Discovering Modern C++, Second Edition, …
book
Modern C++ Programming with Test-Driven Development
If you program in C++ you've been neglected. Test-driven development (TDD) is a modern software development …