Features
- Teaches modern techniques reflecting the latest C++ standards, programming paradigms, libraries, and development practices
- Illuminates powerful design patterns for both run-time and compile-time programming
- Clearly explains both template programming and metaprogramming
- Includes guided tutorials containing carefully-constructed practice problems
- Covers all you need to start working on professional, production-quality C++ projects, whether you're learning on your own or in a classroom
- Copyright 2023
- Dimensions: 7-3/8" x 9-1/8"
- Pages: 800
- Edition: 1st
-
Book
- ISBN-10: 0-13-458442-2
- ISBN-13: 978-0-13-458442-3
C++ Illustrated is designed from the ground up to teach modern approaches to C++ programming: it will help you master all the skills, paradigms, and development practices you need to build tomorrow's production applications.
Dylan Smith and Steve Smith introduce today's best programming practices upfront, reinforce them throughout the book and a powerful accompanying code tutorial based on their pioneering tutorial/testing framework.
All you'll need to use their code tutorial is a modern, easy-to-install C++14 compiler and the cross-platform CMake build management system. As you progress, you'll modify the framework itself, acclimating yourself to working in a large, complex C++ code base. Numerous hands-on project chapters cover engaging topics ranging from cryptography to 3D graphics and game programming. By the time you're finished with the book, tutorial, and example projects, you'll have all the skills you need to work on professional C++ assignments.
Table of Contents
- 1. Getting Started
- 2. Statements
- 3. Building
- 4. Variables
- 5. Projects
- 6. Objects
- 7. References
- 8. Types
- 9. Arithmetic Types
- 10. Introspection
- 11. Graphics (2D)
- 12. Memory
- 13. Scope
- 14. Style
- 15. Containers
- 16. Subpixel Rendering
- 17. Tools
- 18. Integer
- 19. Cryptography
- 20. Iteration
- 21. Algorithms
- 22. Cards
- 23. Expressions
- 24. Operators
- 25. Conversions
- 26. Functions
- 27. Overloading
- 28. Classes
- 29. Management
- 30. Inheritances
- 31. Polymorphism
- 32. Linear Algebra
- 33. Graphics (3D)
- 34. IO Stream
- 35. Strings
- 36. Regular Expressions
- 37. std::regex
- 38. Logging
- 39. Macros
- 40. Testing
- 41. Control Flow
- 42. Pointers
- 43. Circular Array
- 44. Templates
- 45. Template Parameters
- 46. Template Specialization
- 47. Design
- 48. Dynamic Allocation
- 49. Memory Check
- 50. Profiling
- 51. Resource Management
- 52. Ins and Outs
- 53. Initialization
- 54. Singleton
- 55. Options Project
- 56. Exceptions
- 57. Optional Project
- 58. Dungeon Project
- 59. Entity-Component System Project
- 60. Lambdas
- 61. Observer
- 62. Time
- 63. Karaoke Project
- 64. Localization
- 65. Strategy Pattern
- 66. Traits
- 67. Variadic Templates
- 68. Functional Programming
- 69. Macro Metaprogramming
- 70. Template Metaprogramming
- 71. Threads
- 72. Futures
- 73. Synchronization
- 74. Concurrency Patterns
- 75. Animation Project
- 76. JSON Project
- 77. Serialization
- 78. Data Store Project
- 79. Unions
- 80. Special Classes
- 81. Data-Driven Programming
- 82. Cookbook (Task-Specific Index)
- 83. Ambiguities
- 84. Bibliography
- 85. Index