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