3 A Closer Look at Hello, World!
4 Abstraction, Blackboxes and Magic
- Syntax, Keywords and other Minutiae
- Types and Variables
- Types and Type Systems
- Types in C++
autoand Type-deductionconst,volatileand Fixed width Integrals
- Operators
- Arithmetic and Assignment
- Logical and Comparison
- Increment and Decrement
- Precedence and Associativity
- Loops
for,whileanddo-while
- Functions and Lambdas
- Motivation and Usage
- Pass by Reference and
constParameters - Recursion
- Function Overloading
- User Defined Types
- Encapsulation and
classes - Access specifiers
public&private static,constandmutablemembers- Member Functions and the
constsuffix
- Encapsulation and
- Introduction to the Standard Library
- Containers
vectorsstringandstringstream- Range-based
forand Iterators
- Algorithms
findandcountfind_if,for_eachandtransform- Introduction to Lambdas and inline Predicate Functions
- Exceptions
- Handling unexpected conditions
throwing exceptionscatchblocks and cleanup- Where is
finally?
std::exception- Exception Guarantees
- Handling unexpected conditions
6 OOP features in C++
- Inheritance and code-level reuse
protectedaccess specifier- Function Hiding
- Multiple Inheritance
- Polymorphism
- Operators for User-defined Types
- Function Overriding instead of Function Hiding
- References as facilitators of Polymorphism
- Achieveing Function Overriding with
virtualandoverride - Preventing Function Overriding with
final - Interfaces in C++ via Pure
virtualFunctions
7 Misc Topics in C++
- Enumerations and
enum class - Name collision and
namespaces - Templates
- Streams
- Files
8 The C in C++
- Overview of the Compilation Process
- Stages of Compilation
- Linkage & Visibility
- Low-level and Machine dependent stuff
<cstdint>and integrals with fixed sizesvolatile,static-linkage andextern
- Bitwise Operator and Hacks
unions and thier (ab)uses- Arrays and Pointers
- Arrays and
std::array: The Lesservectors - Pointers and the Heap
- Memory Management in C++ : Introducing
newanddelete
- Arrays and
9 Pointers and Memory Management in C++
- Raw Pointers in C++ and RAII
- Smart Pointers and Ownership:
unique_ptrandshared_ptr - The
thisPointer - How
virtualreally Works
10 Another Look at the STL
- Useful Standard Containers
lists anddequesmaps andsets
- Useful Standard Algorithms
swapping andcopyingfill,generateandrotate
11 Existing code & Legacy C++
- Verbose Loops
- Repeated
virtuals and missingoverrides - Raw
newanddelete auto_ptrs and Function Objects
12 Mixing with C code
char*and Friends- C-style I/O:
printfandscanf - Name-mangling and
extern C - Getting
vectors andstrings to play nice with C code