C++ Programming (Mastering Programming Languages Series)
Mastering the Core Language for Robust Software Development In the ever-evolving landscape of programming languages, C++
146
32
896KB
English
Pages 409
Year 2023
Report DMCA / Copyright
DOWNLOAD EPUB FILE
Table of contents :
Preface
C++ Programming
Module 1: Introduction to C++ Programming
Module 1: Introduction to C++ Programming
Understanding Programming Concepts
Introduction to C++ Language
Setting Up Development Environment
Your First C++ Program
Module 2: Variables and Data Types
Module 2: Variables and Data Types
Introduction to Variables
Numeric Data Types: int, float, double
Character and String Data Types
Boolean Data Type and Constants
Module 3: Functions and Modular Programming
Module 3: Functions and Modular Programming
Introduction to Functions
Defining and Calling Functions
Function Parameters and Return Values
Function Overloading and Scope
Module 4: Conditional Statements and Decision Making
Module 4: Conditional Statements and Decision Making
Introduction to Conditional Statements
if, else-if, and else Statements
Switch Statement for Multiple Choices
Ternary Operator for Compact Conditionals
Module 5: Working with Collections
Module 5: Working with Collections
Introduction to Arrays and Their Declaration
Accessing and Modifying Array Elements
Multidimensional Arrays and Matrices
Introduction to Vectors and Dynamic Arrays
Module 6: Loops and Repetition Structures
Module 6: Loops and Repetition Structures
Introduction to Loops
while and do-while Loops
for Loop and Loop Control Statements
Nested Loops and Loop Optimization
Module 7: Comments and Code Documentation
Module 7: Comments and Code Documentation
Importance of Comments and Documentation
Single-Line and Multi-Line Comments
Commenting Best Practices
Generating Documentation Using Doxygen
Module 8: Enums and Constants
Module 8: Enums and Constants
Introduction to Enums
Defining and Using Enums
Enumerated Constants and Scope
Enum Class and Type Safety
Module 9: Introduction to Object-Oriented Programming
Module 9: Introduction to Object-Oriented Programming
Understanding Object-Oriented Concepts
Introduction to Classes and Objects
Encapsulation and Data Hiding
Constructors and Destructors
Module 10: Access Control and Member Functions
Module 10: Access Control and Member Functions
Public, Private, and Protected Access Specifiers
Accessors and Mutators (Getters and Setters)
Friend Functions for Access Control
Static Members and Member Initialization Lists
Module 11: Inheritance and Polymorphism
Module 11: Inheritance and Polymorphism
Introduction to Inheritance
Base and Derived Classes
Polymorphism and Function Overriding
Virtual Functions and Abstract Classes
Module 12: Scope and Lifetime of Variables
Module 12: Scope and Lifetime of Variables
Understanding Variable Scope and Lifetime
Global and Local Variables
Static and Dynamic Storage Duration
Memory Management and Resource Deallocation
Module 13: Exception Handling
Module 13: Exception Handling
Introduction to Exception Handling
try-catch Blocks and Throwing Exceptions
Handling Multiple Exceptions
Custom Exception Classes and Best Practices
Module 14: File Input and Output
Module 14: File Input and Output
Working with Files and Streams
Opening and Closing Files
Reading and Writing Data to Files
Error Handling and File Manipulation
Module 15: Pointers and Memory Management
Module 15: Pointers and Memory Management
Introduction to Pointers
Pointer Arithmetic and Pointer Types
Dynamic Memory Allocation (new and delete)
Smart Pointers and Memory Leaks Prevention
Module 16: Strings and String Manipulation
Module 16: Strings and String Manipulation
Introduction to C++ Strings
String Operations and Functions
String Formatting and Manipulation
Working with C-Style Strings
Module 17: Structs and Unions
Module 17: Structs and Unions
Defining and Using Structs
Struct Members and Initialization
Introduction to Unions
Differences Between Structs and Unions
Module 18: Function Pointers and Callbacks
Module 18: Function Pointers and Callbacks
Understanding Function Pointers
Declaring and Using Function Pointers
Callback Mechanisms and Use Cases
Using Function Pointers in Libraries
Module 19: Namespaces and Header Files
Module 19: Namespaces and Header Files
Introduction to Namespaces
Organizing Code with Namespaces
Creating and Including Header Files
Avoiding Header File Redundancy
Module 20: Type Casting and Conversion
Module 20: Type Casting and Conversion
Implicit and Explicit Type Conversion
Casting Between Numeric Data Types
Casting Pointers and References
Dynamic Casting and Type Information
Module 21: Preprocessor Directives and Macros
Module 21: Preprocessor Directives and Macros
Understanding Preprocessor Directives
Defining and Using Macros
Conditional Compilation with #ifdef and #ifndef
Using #include and #pragma Directives
Module 22: Template Programming
Module 22: Template Programming
Introduction to Templates
Function Templates and Type Deduction
Class Templates and Specialization
Template Metaprogramming Concepts
Module 23: Standard Template Library (STL) - Part 1
Module 23: Standard Template Library (STL) - Part 1
Overview of the STL
STL Containers: Vector, List, Deque
STL Iterators and Algorithms
Using STL Containers and Algorithms
Module 24: Standard Template Library (STL) - Part 2
Module 24: Standard Template Library (STL) - Part 2
STL Containers: Stack, Queue, Priority Queue
STL Maps and Sets
Introduction to Function Objects (Functors)
Using STL in Real-world Applications
Module 25: Exception Safety and Resource Management
Module 25: Exception Safety and Resource Management
Introduction to Exception Safety
RAII (Resource Acquisition Is Initialization)
Managing Resources in C++
Designing Exception-Safe Code
Module 26: Lambda Expressions and C++11 Features
Module 26: Lambda Expressions and C++11 Features
Introduction to Lambda Expressions
Lambda Capture and Function Types
C++11 Features: auto, nullptr, Range-based for Loop
Using Modern Features for Cleaner Code
Module 27: Multithreading and Concurrency
Module 27: Multithreading and Concurrency
Basics of Multithreading
Creating and Managing Threads
Thread Safety and Race Conditions
Synchronization Mechanisms: Mutexes, Locks, Condition Variables
Module 28: File Handling and Serialization
Module 28: File Handling and Serialization
Reading and Writing Binary Files
Text File I/O and Formatting
Serialization and Deserialization
Working with JSON and XML Data Formats
Module 29: C++ Best Practices and Coding Standards
Module 29: C++ Best Practices and Coding Standards
Writing Readable and Maintainable Code
Code Formatting and Naming Conventions
Avoiding Common Pitfalls and Code Smells
Applying Coding Standards and Guidelines
Module 30: Debugging and Troubleshooting
Module 30: Debugging and Troubleshooting
Introduction to Debugging Techniques
Using Debuggers and Profilers
Handling Runtime Errors and Exceptions
Strategies for Effective Troubleshooting
Review Request
Embark on a Journey of ICT Mastery with CompreQuest Books