/cpptutorial

C++ Tutorial

BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Index

0 Introduction

1 Environment

2 Hello, World!

3 A Closer Look at Hello, World!

4 Abstraction, Blackboxes and Magic

5 Basic C++

  • Syntax, Keywords and other Minutiae
  • Basic Types, Variables and auto
  • Operators, Logic and Maths
  • Loops and Jumps
  • Functions and Lambdas
    • Pass by Reference
    • Capture in Lambdas
  • Introduction to the Standard Library
  • Containers: vectors and strings
  • Algorithms: count and count_if
  • for_each and transform : The real power of Lambdas

6 Intro to Object Oriented Programming

  • What is Object Oriented Programming
  • User-defined types, Encapsulation and classes
  • Inheritance and code-level reuse
  • Polymorphism and Interfaces
    • References for facilitating Polymorphism

7 Misc Topics in C++

  • Enumnerations and enum class
  • Templates
  • Streams and Files
  • Exceptions

8 The C in C++

  • Low-level and Machine dependent stuff
  • Bitwise Operator and Hacks
  • unions and thier (ab)uses
  • Arrays and Pointers
    • The Lesser vectors
    • Raw Pointers and Memory Management
  • char* and Friends

9 Pointers and Memory Management in C++

  • RAII and Cleanup
  • Smart Pointers : unique_ptr and shared_ptr
  • Ownership

10 Closer Look at the STL

  • Useful Standard Containers
    • lists and deques
    • maps and multimaps
  • Useful Standard Algorithms
    • finding and sorting
    • counting, swapping, copying

--- WIP : Work in Progress ---