C++

C with object-oriented and generic programming layered on top.

CurrentadvancedFull course available

Overview

C++ extends C with classes, templates (generic programming), and a large standard library, while retaining low-level control and performance. It's the backbone of game engines, high-performance applications, and much system-level infrastructure.

What it is
A statically-typed, compiled language combining low-level control with object-oriented and generic programming.
Why it's used
For performance-critical applications (games, trading systems, real-time systems) that also want higher-level abstractions than plain C.
Where it fits
After C or general programming basics; commonly paired with a data structures & algorithms course.

Core concepts

  • Classes and objects
  • Templates (generics)
  • The Standard Template Library (STL)
  • RAII and memory management
  • References

Example

std::vector is part of the STL, a generic, type-safe container -- a much safer alternative to C's raw arrays and manual memory management.

#include <vector>
#include <iostream>

int main() {
    std::vector<int> nums = {1, 2, 3};
    for (int n : nums) std::cout << n << " ";
}

Common use cases

  • Game engines
  • High-frequency trading systems
  • Performance-critical libraries and infrastructure

Project ideas

  • A generic stack or queue implemented with templates

Official references