-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconcepts.txt
151 lines (77 loc) · 2.99 KB
/
concepts.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
Basic Concepts
Syntax and Structure
Data Types (int, float, double, char, bool, etc.)
Variables and Constants
Input/Output (cin, cout)
Operators (Arithmetic, Relational, Logical, Bitwise, Assignment)
Comments (//, /* ... */)
Conditional Statements (if, else, else if, switch)
Loops (for, while, do-while)
Jump Statements (break, continue, goto)
Functions (Declaration, Definition, Parameters, Return Types)
Function Overloading
Inline Functions
Recursion
Arrays (1D, 2D, Multidimensional)
Strings (C-style char[], C++ std::string)
Pointers (Declaration, Dereferencing, Pointer Arithmetic)
Dynamic Memory Allocation (new, delete)
References
Intermediate Concepts
Object-Oriented Programming (OOP) Basics
Classes and Objects
Access Specifiers (public, private, protected)
Constructors and Destructors
Encapsulation
Inheritance (Single, Multiple, Multilevel, Hierarchical)
Polymorphism (Function Overloading, Operator Overloading, Virtual Functions)
Abstraction (Abstract Classes, Pure Virtual Functions)
Friend Functions and Classes
Static Members (Static Variables, Static Functions)
this Pointer
Namespaces
File Handling (fstream, ifstream, ofstream)
Exception Handling (try, catch, throw)
Templates (Function Templates, Class Templates)
Standard Template Library (STL) Basics
Containers (vector, list, map, set, etc.)
Iterators
Algorithms (sort, find, etc.)
Lambda Expressions (C++11 and later)
Advanced Concepts
Move Semantics (Rvalue References, std::move)
Smart Pointers (unique_ptr, shared_ptr, weak_ptr)
Multithreading (std::thread, std::async, std::mutex)
Concurrency and Parallelism
RAII (Resource Acquisition Is Initialization)
Custom Operators and Type Casting
Advanced Templates (Template Specialization, Variadic Templates)
CRTP (Curiously Recurring Template Pattern)
Design Patterns (Singleton, Factory, Observer, etc.)
Memory Management (Custom Allocators, Memory Pools)
Advanced STL (Unordered Containers, Custom Comparators)
Type Traits and Metaprogramming (std::enable_if, std::is_same, etc.)
Concepts and Constraints (C++20)
Modules (C++20)
Coroutines (C++20)
Advanced OOP (Multiple Inheritance, Virtual Inheritance)
Custom Exceptions and Error Handling
Interfacing with C (Extern "C")
Low-Level Programming (Bit Manipulation, Inline Assembly)
Performance Optimization (Cache Awareness, Branch Prediction)
Advanced Debugging Techniques (GDB, Valgrind)
Cross-Platform Development (Platform-Specific Code)
Networking and Sockets (Boost.Asio, POSIX Sockets)
GUI Programming (Qt, wxWidgets)
Embedded Systems Programming (Arduino, Raspberry Pi)
Very Advanced Concepts
Compiler Internals (AST, IR, Optimization Passes)
Writing Compilers and Interpreters
Advanced Metaprogramming (Expression Templates, SFINAE)
Custom Language Extensions (Clang Plugins, GCC Extensions)
Real-Time Systems Programming
High-Frequency Trading Systems
Game Engine Development
Operating System Development (Kernel Programming)
Distributed Systems and Parallel Computing
Quantum Computing with C++