For introductory to intermediate-level courses in C++ programming. An objects-natural, live-code approach. C++ How to Program is a code-intensive, modular introduction to C++ programming. The Deitel live-code approach presents concepts using full, working programs rather than code snippets. Students can run programs as they read and see how their learning applies to real-world scenarios. Case studies introduce applications and systems programming.
The 11th Edition presents new features of C++ 20 and more hands-on applications. Hundreds of new self-checks let students test their code and understanding of concepts. New case studies and exercises focus on security, data science, ethics and more.
Table of Contents:
- PART 1: C++ 20 Fundamentals Quickstart and Procedural Programming
- Intro: Test-Driving Popular, Free C++ Software
- Intro to C++ 20 Programming
- Control Statements: Part 1
- Control Statements: Part 2
- Functions and an Intro to Function Templates
- PART 2: Containers, C++ 20 Ranges, Pointers, Strings and Files
- Arrays, vectors, Ranges and Functional-Style Programming
- (Downplaying) Pointers in Modern C++
- strings, string_views, Text files, CSV Files and Regex
- PART 3: Modern Object-Oriented Programming and Exceptions
- Custom Classes
- OOP: Inheritance and Runtime Polymorphism
- Operator Overloading, Copy/Move Semantics, Smart Pointers and RAII
- Exceptions and a Look Forward to Contracts
- PART 4: Generic Programming: Templates, Concepts and Template Metaprogramming
- Standard Library Containers and Iterators
- Standard Library Algorithms and C++ 20 Ranges and Views
- Templates, C++ 20 Concepts and Metaprogramming
- PART 5: Advanced Topics: Modules, Parallel Algorithms, Concurrency and Coroutines
- C++ 20 Modules: Large-Scale Development
- Parallel Algorithms and Concurrency: A High-Level View
- C++ 20 Coroutines
- PART 6: Miscellaneous Topics
- Stream I/O and C++ 20 Text Formatting
- Other Topics and a Look Toward C++ 23 and C++ 26
- Computer Science Thinking: Searching, Sorting and Big O
About the Author :
About our authors Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is an MIT graduate with 43 years in computing. He is one of the world's most experienced programming-languages trainers, having taught professional courses to software developers since 1992. He has delivered hundreds of programming courses to academic, industry, government and military clients of Deitel & Associates, Inc. internationally, including UCLA, SLB (formerly Schlumberger), Cisco, IBM, Siemens, Sun Microsystems (now Oracle), Dell, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, Puma, iRobot and many more.
Dr. Harvey M. Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has 62 years of experience in computing. Dr. Deitel earned B.S. and M.S. degrees in Electrical Engineering from MIT and a Ph.D. in Mathematics from Boston University; he studied computing in each of these programs before they spun off Computer Science departments. He has extensive college and professional teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates in 1991 with his son, Paul. The Deitels' publications have earned international recognition, with more than 100 translations published in Japanese, German, Russian, Spanish, French, Polish, Italian, Simplified Chinese, Traditional Chinese, Korean, Portuguese, Greek, Urdu and Turkish. Dr. Deitel has delivered hundreds of programming courses to academic, corporate, government and military clients.