Learning C++ eBook (PDF)


ebook
Download this eBook for free
Chapters
  • Chapter 1: Getting started with C++
  • Chapter 2: Alignment
  • Chapter 3: Argument Dependent Name Lookup
  • Chapter 4: Arithmitic Metaprogramming
  • Chapter 5: Arrays
  • Chapter 6: Atomic Types
  • Chapter 7: Attributes
  • Chapter 8: auto
  • Chapter 9: Basic input/output in c++
  • Chapter 10: Basic Type Keywords
  • Chapter 11: Bit fields
  • Chapter 12: Bit Manipulation
  • Chapter 13: Bit Operators
  • Chapter 14: Build Systems
  • Chapter 15: C incompatibilities
  • Chapter 16: C++ Containers
  • Chapter 17: C++ Debugging and Debug-prevention Tools & Techniques
  • Chapter 18: C++ function "call by value" vs. "call by reference"
  • Chapter 19: C++ Streams
  • Chapter 20: C++11 Memory Model
  • Chapter 21: Callable Objects
  • Chapter 22: Classes/Structures
  • Chapter 23: Client server examples
  • Chapter 24: Common compile/linker errors (GCC)
  • Chapter 25: Compiling and Building
  • Chapter 26: Concurrency With OpenMP
  • Chapter 27: Const Correctness
  • Chapter 28: const keyword
  • Chapter 29: Constant class member functions
  • Chapter 30: constexpr
  • Chapter 31: Copy Elision
  • Chapter 32: Copying vs Assignment
  • Chapter 33: Curiously Recurring Template Pattern (CRTP)
  • Chapter 34: Data Structures in C++
  • Chapter 35: Date and time using header
  • Chapter 36: decltype
  • Chapter 37: Design pattern implementation in C++
  • Chapter 38: Digit separators
  • Chapter 39: Enumeration
  • Chapter 40: Exceptions
  • Chapter 41: Explicit type conversions
  • Chapter 42: Expression templates
  • Chapter 43: File I/O
  • Chapter 44: Floating Point Arithmetic
  • Chapter 45: Flow Control
  • Chapter 46: Fold Expressions
  • Chapter 47: Friend keyword
  • Chapter 48: Function Overloading
  • Chapter 49: Function Template Overloading
  • Chapter 50: Futures and Promises
  • Chapter 51: Header Files
  • Chapter 52: Implementation-defined behavior
  • Chapter 53: Inline functions
  • Chapter 54: Inline variables
  • Chapter 55: Internationalization in C++
  • Chapter 56: Iteration
  • Chapter 57: Iterators
  • Chapter 58: Keywords
  • Chapter 59: Lambdas
  • Chapter 60: Layout of object types
  • Chapter 61: Linkage specifications
  • Chapter 62: Literals
  • Chapter 63: Loops
  • Chapter 64: Memory management
  • Chapter 65: Metaprogramming
  • Chapter 66: More undefined behaviors in C++
  • Chapter 67: Move Semantics
  • Chapter 68: mutable keyword
  • Chapter 69: Mutexes
  • Chapter 70: Namespaces
  • Chapter 71: Non-Static Member Functions
  • Chapter 72: One Definition Rule (ODR)
  • Chapter 73: Operator Overloading
  • Chapter 74: operator precedence
  • Chapter 75: Optimization
  • Chapter 76: Optimization in C++
  • Chapter 77: Overload resolution
  • Chapter 78: Parameter packs
  • Chapter 79: Perfect Forwarding
  • Chapter 80: Pimpl Idiom
  • Chapter 81: Pointers
  • Chapter 82: Pointers to members
  • Chapter 83: Polymorphism
  • Chapter 84: Preprocessor
  • Chapter 85: Profiling
  • Chapter 86: RAII: Resource Acquisition Is Initialization
  • Chapter 87: Random number generation
  • Chapter 88: Recursion in C++
  • Chapter 89: Recursive Mutex
  • Chapter 90: Refactoring Techniques
  • Chapter 91: References
  • Chapter 92: Regular expressions
  • Chapter 93: Resource Management
  • Chapter 94: Return Type Covariance
  • Chapter 95: Returning several values from a function
  • Chapter 96: RTTI: Run-Time Type Information
  • Chapter 97: Scopes
  • Chapter 98: Semaphore
  • Chapter 99: SFINAE (Substitution Failure Is Not An Error)
  • Chapter 100: Side by Side Comparisons of classic C++ examples solved via C++ vs C++11 vs C++14 vs C++17
  • Chapter 101: Singleton Design Pattern
  • Chapter 102: Smart Pointers
  • Chapter 103: Sorting
  • Chapter 104: Special Member Functions
  • Chapter 105: Standard Library Algorithms
  • Chapter 106: static_assert
  • Chapter 107: std::any
  • Chapter 108: std::array
  • Chapter 109: std::atomics
  • Chapter 110: std::forward_list
  • Chapter 111: std::function: To wrap any element that is callable
  • Chapter 112: std::integer_sequence
  • Chapter 113: std::iomanip
  • Chapter 114: std::map
  • Chapter 115: std::optional
  • Chapter 116: std::pair
  • Chapter 117: std::set and std::multiset
  • Chapter 118: std::string
  • Chapter 119: std::variant
  • Chapter 120: std::vector
  • Chapter 121: Storage class specifiers
  • Chapter 122: Stream manipulators
  • Chapter 123: Templates
  • Chapter 124: The ISO C++ Standard
  • Chapter 125: The Rule of Three, Five, And Zero
  • Chapter 126: The This Pointer
  • Chapter 127: Thread synchronization structures
  • Chapter 128: Threading
  • Chapter 129: Trailing return type
  • Chapter 130: type deduction
  • Chapter 131: Type Erasure
  • Chapter 132: Type Inference
  • Chapter 133: Type Keywords
  • Chapter 134: Type Traits
  • Chapter 135: Typedef and type aliases
  • Chapter 136: Undefined Behavior
  • Chapter 137: Unions
  • Chapter 138: Unit Testing in C++
  • Chapter 139: Unnamed types
  • Chapter 140: Unspecified behavior
  • Chapter 141: User-Defined Literals
  • Chapter 142: Using declaration
  • Chapter 143: Using std::unordered_map
  • Chapter 144: Value and Reference Semantics
  • Chapter 145: Value Categories
  • Chapter 146: Variable Declaration Keywords
  • Chapter 147: Virtual Member Functions

  • Download this eBook for free