-
6 Implicit Functions
Constructor (1. Default, 2. copy, 3. move)
Assignment Operator(4. Copy, 5. move assigment operator)
6. Destructor
Characteristics of OOPS
1. Polymorphism
|- Static(CompileTime)
|- Templates(Class, Function, Variadic Templates, Template Parameter Pack)
|- Operator Overloading
|- Dynamic(Runtime): Virtual Functions
2. Association: Composition , Aggregation
3. Generalization = Inheritance
4. Abstraction
5. Classes, Objects, Data hiding
6. Encapsulation
Exception Handling
C++11
attributes: carries_dependency, depreacated, fallthrough, likely, unlikely, maybe_unused, nodiscard, noreturn, no_unique_address, optimize_for_synchronized
Constexpr and macros
decltype / decltype(auto)
Function Pointer
Lambda Expression
lvalue & lvalue reference, rvalue & rvalue reference Copy, Move constructor
noexcept
remove_pointer_t
Pointers(Raw & Smart). unique_ptr, shared_ptr
Type Triats
C++14
C++17
Fold Expression
string_view
C++20
__has_cpp_attribute
3 Way Comparator
Abbreviated Function Template
Aggregate initialization
Concept & Contraint
STL
Associative Containers:
Unsorted(hashmap, Hashset)
Sorted(map, set)
Container Adoptors: Stack, Queue, priority_queue
Sequence Containers: vector, deque
Algorithms
Iterators
Functors
String
Terms