Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Table of Contents
Title page
Copyright
Dedication
Preface
Acknowledgments
Abbreviations
About the Companion Website
1 Introduction
1.1 Structure of the Book
1.2 Format Conventions
1.3 About the Code and Projects
2 Introduction to Programming
2.1 Hardware Model
2.2 Software Development Ecosystem
2.3 Software Development Steps
2.4 Representing and Running Algorithms
2.5 Example Project – Compound Interest Calculator
2.6 Example Project – Counting Occurrences of Characters in Text
2.7 Summary
Notes
3 C++ Basics
3.1 Constants and Variables – Built-In Data Types, Their Range, and Initialization
3.2 Example Project – Collecting Student Grades
3.3 Our Friend the Debugger
3.4 The Basic Data Structure – std::vector
3.5 Example Project – Implementing a Matrix as a Vector of Vectors
3.6 Special Vector to Store Text – std::string
3.7 Using the auto Keyword and decltype for Automatic Type Deduction
3.8 Common Standard Algorithms
3.9 Structures: Collecting Objects of Various Types
3.10 () Fixed-Size Arrays
3.11 References
3.12 () Pointers
3.13 Statements
3.14 Functions
3.15 Example Project – Wrapping Objects in a Structure with a Constructor
3.16 Example Project – Representing Quadratic Equations
3.17 Example Project – Tuples and Structured Bindings for Converting Roman Numerals
3.18 Example Project – Building a Currency Calculator Component
3.19 Operators
3.20 Summary
Notes
4 Delving into Object-Oriented Programming
4.1 Basic Rules and Philosophy of Object-Oriented Design and Programming
4.2 Anatomy of a Class
4.3 Rules for Accessing Class Members
4.4 Example Project – TComplex Class for Operator Overloading
4.5 More on References
4.6 Example Project – Mastering Class Members with the TheCube Class
4.7 Example Project – Moving EMatrix to the Class
4.8 Introduction to Templates and Generic Programming
4.9 Class Relations – “Know,” “Has-A,” and “Is-A"
4.10 Example Project – Extending Functionality Through Class Inheritance with TComplexQuadEq
4.11 Virtual Functions and Polymorphism
4.12 () More on the Virtual Mechanism
4.13 () The Curiously Recurring Template Pattern and Static Polymorphism
4.14 () Mixin Classes
4.15 Example Project – The TLongNumberFor Class for Efficient Storage of Numbers of Any Length
4.16 Strong Types
4.17 Summary
Notes
5 Memory Management
5.1 Types of Data Storage
5.2 Dynamic Memory Allocation – How to Avoid Memory Leaks
5.3 Smart Pointers – An Overview with Examples
5.4 Summary
6 Advanced Object-Oriented Programming
6.1 Functional Objects
6.2 Example Project – Extending the Currency Search in XML Files, and Using State Machine and Regular Expressions with the regex Library
6.3 System Clocks and Time Measurements
6.4 () Time Measurement for Function Execution
6.5 Range Class
6.6 Example Project – Parsing Expressions
6.7 Summary
Notes
7 Computer Arithmetic
7.1 Integer Value Representation
7.2 Binary Shift Operations
7.3 () Example Project – Software Model for Fixed‐Point Representations
7.4 Floating‐Point Representations
7.5 Summary
Notes
8 Basics of Parallel Programming
8.1 Basic Concepts of Parallel Computations
8.2 Adding Parallelism to the Standard Algorithms
8.3 Launching Asynchronous Tasks
8.4 Parallelization with the OpenMP Library
8.5 Summary
Notes
Appendix
A.1 Preprocessor Directives
A.2 Short Introduction to C
A.3 Linking and Binary Organization of C/C++ Objects
A.4 Graphical User and Web Interfaces for C++ Projects
A.5 Converting Bin, Oct, Dec, and Hex Values with FixBinCalc
A.6 Programming Toolchain
A.7 Software Testing
A.8 Summary
Notes
Bibliography
Index
End User License Agreement
← Prev
Back
Next →
← Prev
Back
Next →