Preview
Open Original
C++ PROGRAMMING Topics GENERAL ALGORITHMS AND DATA STRUCTURES Data structures - Arrays and Vectors - Linked Lists - Stacks and Queues - Trees (BST, AVL, Red-Black) - Graphs - Hash Tables - Heaps Algorithms - Sorting - Searching - Graph Algorithms - Dynamic Programming - Greedy Algorithms CODE QUALITY Core principles - SOLID Principles - DRY, KISS, YAGNI Design Patterns - Creational - Structural - Behavioral Clean Code - Naming Conventions - Code Organization Tools - Linters - Static Analyzers - Profilers C++ CORE BASIC SYNTAX Variables and Constants Data Types Operators Comments Input/Output (cin, cout) Namespaces CONTROL FLOW Conditional Statements - if, else if, else - switch-case Loops - for, while, do-while - Range-based for loop Jump Statement...C++ PROGRAMMING Topics GENERAL ALGORITHMS AND DATA STRUCTURES Data structures - Arrays and Vectors - Linked Lists - Stacks and Queues - Trees (BST, AVL, Red-Black) - Graphs - Hash Tables - Heaps Algorithms - Sorting - Searching - Graph Algorithms - Dynamic Programming - Greedy Algorithms CODE QUALITY Core principles - SOLID Principles - DRY, KISS, YAGNI Design Patterns - Creational - Structural - Behavioral Clean Code - Naming Conventions - Code Organization Tools - Linters - Static Analyzers - Profilers C++ CORE BASIC SYNTAX Variables and Constants Data Types Operators Comments Input/Output (cin, cout) Namespaces CONTROL FLOW Conditional Statements - if, else if, else - switch-case Loops - for, while, do-while - Range-based for loop Jump Statements - break, continue, return - goto FUNCTIONS Function Declaration Function Definition Function Overloading Default Arguments Inline Functions Recursion Function Pointers Lambda Expressions OBJECT-ORIENTED PROGRAMMING Classes and Objects - Class Definition - Access Specifiers (public, private, protected) - Member Functions - Member Variables Constructors - Default Constructor - Parameterized Constructor - Copy Constructor - Move Constructor Destructors this Pointer Static Members Friend Functions and Classes Const Member Functions INHERITANCE Single Inheritance Multiple Inheritance Multilevel Inheritance Hierarchical Inheritance Virtual Base Classes Access Control in Inheritance Constructor/Destructor Order POLYMORPHISM Compile-time Polymorphism - Function Overloading - Operator Overloading Runtime Polymorphism - Virtual Functions - Pure Virtual Functions - Abstract Classes - Virtual Destructors Virtual Function Table (vtable) ENCAPSULATION AND ABSTRACTION Data Hiding Getter and Setter Methods Abstract Classes Interfaces POINTERS AND REFERENCES Pointers - Pointer Basics - Pointer Arithmetic - Pointers to Objects - this Pointer - Function Pointers References - Lvalue References - Rvalue References - Reference vs Pointer Dynamic Memory - new and delete - new[] and delete[] - Memory Leaks TEMPLATES Function Templates Class Templates Template Specialization Variadic Templates Template Metaprogramming SFINAE STANDARD TEMPLATE LIBRARY (STL) CONTAINERS Sequence Containers - vector - deque - list - array - forward_list Associative Containers - set, multiset - map, multimap Unordered Containers - unordered_set - unordered_map Container Adaptors - stack - queue - priority_queue ITERATORS Iterator Types Iterator Operations Iterator Invalidation Reverse Iterators ALGORITHMS Non-modifying - find, count, search Modifying - copy, move, transform Sorting - sort, stable_sort, partial_sort Binary Search Set Operations Heap Operations FUNCTORS AND LAMBDA Function Objects Lambda Expressions std::function std::bind MODERN C++ (C++11/14/17/20/23) C++11 FEATURES Auto keyword Range-based for loops nullptr Move Semantics Perfect Forwarding Smart Pointers constexpr Initializer Lists Delegating Constructors C++14 FEATURES Generic Lambdas Return Type Deduction Binary Literals Variable Templates C++17 FEATURES Structured Bindings if/switch with initializers std::optional std::variant std::any Fold Expressions Inline Variables C++20 FEATURES Concepts Ranges Coroutines Modules Three-way Comparison (<=>) std::span MEMORY MANAGEMENT Stack vs Heap RAII (Resource Acquisition Is Initialization) Smart Pointers - unique_ptr - shared_ptr - weak_ptr Custom Allocators Memory Pools EXCEPTION HANDLING try-catch blocks throw keyword Exception Classes Standard Exceptions noexcept specifier Exception Safety Guarantees FILE I/O Stream Classes - ifstream, ofstream, fstream File Operations Binary File I/O String Streams Formatting MULTITHREADING std::thread Mutexes and Locks Condition Variables Atomic Operations Thread-local Storage Futures and Promises async PREPROCESSOR Macros #include Header Guards #pragma once Conditional Compilation ADVANCED TOPICS Type Casting - static_cast - dynamic_cast - const_cast - reinterpret_cast RTTI (Runtime Type Information) Operator Overloading Copy Elision and RVO Perfect Forwarding Name Mangling Linkage COMPILATION AND BUILD Compilation Process Header Files Source Files Linking Build Systems - Make - CMake Compiler Options Requested a AI to provide a CPP roadmap to know CPP very thoroughly, and it has provided me this roadmap. Do you have additions? Or is this good for modern CPP?
Similar Posts
Loading similar posts...