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.
Inhaltsverzeichnis
Part I: The Basics. -1. Honing your tools. - 2. Reading C++ Code. - 3. Integer Expressions. - 4. Strings. - 5. Simple Input. - 6. Error Messages. - 7. For 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 Functioins. - 25. Overloading Function Names. - 26. Big and Little Numbers. - 27. Very Big and Very Little Numbers. - 28. Documentation. - 29. Project 1: Body-Mass IndexPart II: Custom Types. - 30. Custom Types. - 31. Overloading Operators. - 32. Custom I/O Operators. - 33. Assignmentand 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. - 51. Function Templates. - 52. Class Templates. - 53. Template Specialization. - 54. Partial Template Specialization. - 55. Template Constraints. - 56. Names and Namespaces. - 57. Containers. - 58. Locales and Facets. - 59. International Characters. - 60. TextI/O. - 61. Project3: Currency Type. - 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.