C++ Notes for Professionals book (FREE DOWNLOAD)
C++ Notes for Professionals book (FREE DOWNLOAD)
DESCRIPTION
Chapters
- Getting started with C++
- Literals
- operator precedence
- Floating Point Arithmetic
- Bit Operators
- Bit Manipulation
- Bit fields
- Arrays
- Iterators
- Basic input/output in c++
- Loops
- File I/O
- C++ Streams
- Stream manipulators
- Flow Control
- Metaprogramming
- const keyword
- mutable keyword
- Friend keyword
- Type Keywords
- Basic Type Keywords
- Variable Declaration Keywords
- Keywords
- Returning several values from a function
- Polymorphism
- References
- Value and Reference Semantics
- C++ function "call by value" vs. "call by reference"
- Copying vs Assignment
- Pointers
- Pointers to members
- The This Pointer
- Smart Pointers
- Classes/Structures
- Function Overloading
- Operator Overloading
- Function Template Overloading
- Virtual Member Functions
- Inline functions
- Special Member Functions
- Non-Static Member Functions
- Constant class member functions
- C++ Containers
- Namespaces
- Header Files
- Using declaration
- std::string
- std::array
- std::vector
- std::map
- std::optional
- std::function: To wrap any element that is callable
- std::forward_list
- std::pair
- std::atomics
- std::variant
- std::iomanip
- std::any
- std::set and std::multiset
- std::integer_sequence
- Using std::unordered_map
- Standard Library Algorithms
- The ISO C++ Standard
- Inline variables
- Random number generation
- Date and time using <chrono> header
- Sorting
- Enumeration
- Iteration
- Regular expressions
- Implementation-defined behavior
- Exceptions
- Lambdas
- Value Categories
- Preprocessor
- Data Structures in C++
- Templates
- Expression templates
- Curiously Recurring Template Pattern (CRTP)
- Threading
- Thread synchronization structures
- The Rule of Three, Five, And Zero
- RAII: Resource Acquisition Is Initialization
- RTTI: Run-Time Type Information
- Mutexes
- Recursive Mutex
- Semaphore
- Futures and Promises
- Atomic Types
- Type Erasure
- Explicit type conversions
- Unnamed types
- Type Traits
- Return Type Covariance
- Layout of object types
- Type Inference
- Typedef and type aliases
- type deduction
- Trailing return type
- Alignment
- Perfect Forwarding
- decltype
- SFINAE (Substitution Failure Is Not An Error)
- Undefined Behavior
- Overload resolution
- Move Semantics
- Pimpl Idiom
- auto
- Copy Elision
- Fold Expressions
- Unions
- Design pattern implementation in C++
- Singleton Design Pattern
- User-Defined Literals
- Memory management
- C++11 Memory Model
- Scopes
- static_assert
- constexpr
- One Definition Rule (ODR)
- Unspecified behavior
- Argument Dependent Name Lookup
- Attributes
- Recursion in C++
- Arithmitic Metaprogramming
- Callable Objects
- Client server examples
- Const Correctness
- Parameter packs
- Build Systems
- Concurrency With OpenMP
- Resource Management
- Storage class specifiers
- Linkage specifications
- Digit separators
- C incompatibilities
- Side by Side Comparisons of classic C++ examples solved via C++ vs C++11 vs C++14 vs C++17
- Compiling and Building
- Common compile/linker errors (GCC)
- More undefined behaviors in C++
- Unit Testing in C++
- C++ Debugging and Debug-prevention Tools & Techniques
- Optimization in C++
- Optimization
- Profiling
- Refactoring Techniques