C++ Notes for Professionals book

C++ Book preview
C++ Notes for Professionals book

Chapters

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

Example book pages

C++ Example Page 1C++ Example Page 2

C++ Example Page 3C++ Example Page 4

The C++ Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified

Book created for educational purposes and is not affiliated with C++ group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners

704 pages, published on January 2018

View More Programming Books

To support continued development and improvements to this book, please consider a small bitcoin donation: 1H63m55bw6KDYUaKU1mYLGrzDf4wcrVzhX